目标是要写出一个这样的生日选择器:
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控件了!