ComboBox控件——生日选择器

目标是要写出一个这样的生日选择器:

1.在Form窗体中添加三个ComboBox控件,把DropDownStyle属性改为DropDownList

2.添加年份到第一个ComboBox控件中:获取当前的年份

private void Form1_Load(object sender, EventArgs e)
        {
            int yearcmb = DateTime.Now.Year;//如何添加进去
            for (int i = yearcmb; i >= 1970; i--)
            {
                cmbYear.Items.Add(i+"年");
            }
              
        }

3.把月份添加到第二个ComboBox控件中

private void cmbYear_SelectedIndexChanged(object sender, EventArgs e)
        {
            cmbMonth.Items.Clear();//清空原来添加的月份
            for (int i = 1; i <= 12; i++)
            {
                cmbMonth.Items.Add(i + "月");//把月份添加到第二个控件中
            }
        }

4.把日期添加到第三个ComboBox控件中

private void cmbMonth_SelectedIndexChanged(object sender, EventArgs e)
        {
            cmbDay.Items.Clear();//清空这个控件中的值
            //先拿到年份
            //截取年份,把年去掉
            string strYear = cmbYear.SelectedItem.ToString().Split('年')[0];
            //截取月份
            string strMonth = cmbMonth.SelectedItem.ToString().Replace("月", "");
            //换为int类型的
            int year = Convert.ToInt32(strYear);
            int month = Convert.ToInt32(strMonth);
            int day = 0;
            if (month==2)
            {
                if (year%400==0||year%4==0&&year%100!=0)
                {
                    day = 29;
                }
                else
                {
                    day = 28;
                }
            }
            else
            {
                switch (month)
                {
                    case 4:
                    case 6:
                    case 9:
                    case 11:
                        day = 30;
                        break;
                    default:
                        day = 31;
                        break;
                }
            }
            for (int i = 1; i <= day; i++)
            {
                cmbDay.Items.Add(i);
            }

最简单的方法是添加一个DateTimePicker控件或者MonthCalendar控件了!

猜你喜欢

转载自blog.csdn.net/weixin_44690047/article/details/109380770
今日推荐