c# comboBox下拉控件,闰年练习

获取选择项的文本 :
combox.SelectedItem.ToString()
1.加载窗体时即生成年份
private void Form1_Load(object sender, EventArgs e)
{
int year = Convert.ToInt32(DateTime.Now.Year.ToString());
for (int i = 0; i <= 100; i++)
{
comboBox1.Items.Add(year-i+"年");
}
2.年份改变时月份随之生成
private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
comboBox2.Items.Clear(); // 天数也清除
comboBox3.Items.Clear();
for (int i = 1; i < 13; i++)
{
comboBox2.Items.Add(i + "月");
}
3.月份改变生成天数,判断是否为闰年
private void comboBox2_SelectedValueChanged(object sender, EventArgs e)
{
//先清除
comboBox3.Items.Clear();
//substring 只能正截取,不能从后面截取,用split分割成数组,分割符被空格填充,下标取值
//或用splitstringoptions属性去空格
int month =Convert.ToInt32(comboBox2.SelectedItem.ToString().Split(new char[]{'月'})[0]);
int year = Convert.ToInt32(comboBox1.SelectedItem.ToString().Split(new char[] {'年'})[0]);
int day=0 ;
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 2: //闰年判定:1.能被4整除,但不能被100整除; 2.能被400整除;
if (year%400==0 || (year%100!=0 && year%4==0))
{
day = 29;
}
else
{
day = 28;
}
break;
default:
day = 30;
break;
}
for (int i = 0; i < day; i++)
{
comboBox3.Items.Add(i + 1+"天");
}
if (day==29)
{
label4.Text = year + "年是闰年," + "2月有29天";
}
else
{
label4.Text = year + "年不是闰年," + "2月有28天";
}
}

浙公网安备 33010602011771号