C# ComboBox 下拉框 年月日练习
C# ComboBox 下拉框 年月日练习
年下拉框名称:cboY
月下拉框名称:cboM
日下拉框名称:cboD
using System; using System.Windows.Forms; namespace 年月日 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e)//窗体默认加载 { int year = DateTime.Now.Year;//获取当前年 for (int i = year; i >= 1949; i--)//循环 { cboY.Items.Add(i + "年");//添加到 年 下拉框中 } cboY.SelectedIndex = 0;//默认选中 第一项 } private void cboY_SelectedIndexChanged(object sender, EventArgs e)//年 下拉框 的更改值 事件 { cboM.Items.Clear();//清空 月下拉框 cboD.Items.Clear();//清空 日下拉框 for (int i = 1; i <= 12; i++)//循环 { cboM.Items.Add(i+"月");//添加到 月 下拉框中 } cboM.SelectedIndex = 0;//默认选中 第一项 } private void cboM_SelectedIndexChanged(object sender, EventArgs e)//月 下拉框 的更改值 事件 { cboD.Items.Clear();//清空 日下拉框 int day = 0;//声明 整数变量 string strM = cboM.SelectedItem.ToString().Split(new char[] { '月' },StringSplitOptions.RemoveEmptyEntries)[0];//获取月下拉框选择的月份 截取出数字字符串 string strY=cboY.SelectedItem.ToString().Split(new char[] { '年' }, StringSplitOptions.RemoveEmptyEntries)[0];//获取年下拉框选择的月份 截取出数字字符串 int year = Convert.ToInt32(strY);//转换 int month = Convert.ToInt32(strM);//转换 switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 31; break; case 2: if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))//判断 是否为闰年 { day = 29; } else { day = 28; } break; default: day = 30; break; } for (int i = 1; i <= day; i++)//循环 { cboD.Items.Add(i + "日"); } cboD.SelectedIndex = 0;//默认选中 第一项 } } }
输出结果: