winform控件之ComboBox

本文介绍了WinForm应用中ComboBox控件的使用,包括界面布局、数据绑定和代码示例。通过设置DrawMode属性并在DrawItem事件中重绘,实现自定义下拉框样式。内容涵盖三种数据绑定方法及重绘过程,提供了完整代码示例。
摘要由CSDN通过智能技术生成

ComboBox也算是常用的控件之一了,它提供了一个下拉框供可以让我们自己选择内容,这里我们通过自定义下拉框的形式来学习ComboBox的使用

 

1 界面布局

界面布局如下

布局界面很简单,三个label和三个ComboBox即可,另外由于第三个需要一张图片,所以我们这里还需要添加一个ImageList

2 用法示例

如果我们想自定义下来菜单的形式,需要在DrawItem事件中进行重绘,为了能够在DrawItem事件中进行重绘,还需要设置DrawMode属性,该属性定义如下

Normal 0

控件中的所有元素都由操作系统绘制,并且元素大小都相等。

OwnerDrawFixed 1

控件中的所有元素都是手动绘制的,并且元素大小都相等。

OwnerDrawVariable 2

控件中的所有元素都由手动绘制,元素大小可能不相等。

 

2.1数据绑定

再重绘之前,首先我们需要知道数据如何添加到ComboBox里面的,这里大家可以参考

WinForm 中 comboBox控件之数据绑定

这里我分别使用了三种方法,对三个ComboBox的数据进行绑定,代码如下

private void BindCombox1()
        {
            //第一种方法
            //IList<string> list = new List<string>();
            //list.Add("111111");
            //list.Add("222222");
            //list.Add("333333");
            //list.Add("444444");
            //comboBox1.DataSource = list;

            //第二种方法
            IList<Info> infoList = new List<Info>();
            Info info1 = new Info() { Id = "1", Name = "张三" };
            Info info2 = new Info() { Id = "2", Name = "李四" };
            Info info3 = new Info() { Id = "3", Name = "王五" };
            infoList.Add(info1);
            infoList.Add(info2);
            infoList.Add(info3);
            comboBox1.DataSource = infoList;
            comboBox1.ValueMember = "Id";
            comboBox1.DisplayMember = "Name";
        }

        private void BindCombox2()
        {
            Dictionary<int, string> kvDictonary = new Dictionary<int, string>();
            kvDictonary.Add(1, "篮球");
            kvD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值