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;//默认选中 第一项
}
}
}输出结果:
