C#之ComboBox控件

    C#ComboBox控件是一个下拉框,用于绑定数据源进行选择。该控件使用很频繁。本文介绍下该控件的属性。

    

    Name属性:每个控件都有的属性,主要用于标记以及访问控件时使用。当然也可以根据Name区分控件类型。

    Anchor属性。用于控件进行排版时使用的属性,可在使用时设置一个或者是多个联合使用。有Top,Left,Right,Bottom四个。

    DataSource属性:该属性主要用于绑定数据集,也就是下拉框的选项。此种方式可以用Datatable来绑定。可以通过valueMember来获取。

    DropDownStyle属性:该属性用来定义下拉框用那种类型,是否可以编辑下拉框等方式。

    DropDownWidth属性:该属性表示下拉框下拉列表的长度,也就是下拉框数据比较多的时候,下拉框可以显示多长。

    Item属性:这是绑定下拉框集合的一个属性。可以使用该属性手动绑定下拉框需要显示的信息。

    MaxDropDown属性:概属性用来表示下拉框最大显示的Item数量。这里默认的是8个。

    

下面是一个用ComboBox控件做的小例子

扫描二维码关注公众号,回复: 1850799 查看本文章
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--)
            {
                cmbYear.Items.Add(i+"年");
            }
        }

        private void cmbYear_SelectedIndexChanged(object sender, EventArgs e)
        {
            cmbMoth.Items.Clear();//清空原来添加的月份
            for (int i = 1; i <= 12; i++)
            {
                cmbMoth.Items.Add(i + "月");
            }
        }

        private void cmbDay_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void cmbMoth_SelectedIndexChanged(object sender, EventArgs e)
        {
            cmbDay.Items.Clear();

            string strYear = cmbYear.SelectedItem.ToString().Split('年')[0];

            string strMoth = cmbMoth.SelectedItem.ToString().Replace("月", "");

            int year = Convert.ToInt32(strYear);

            int moth = Convert.ToInt32(strMoth);

            int day = 0;

            if (moth==2)
            {
                if (year%400==0||year%4==0&&year%100!=0)
                {
                    day = 29;
                }
                else
                {
                    day = 28;
                }
            }

            else
            {
                switch (moth)
                {
                    case 4:
                    case 6:
                    case 9:
                    case 11:
                        day = 30;
                        break;
                    default:
                        day = 31;
                        break;

                }
            }

            for (int i = 0; i <= day; i++)
            {
                cmbDay.Items.Add(i);
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/chenguanghan123/article/details/80720459