程序设计-C#自定义控件 多选的下拉列表框

上一篇文章简单介绍了自定义控件的开发,这篇文章将详细介绍自定义控件的开发过程,我们做一个具有多选功能的下拉列表框,其实就是一个文本框和checkboxlist组合实现的用户控件,换个角度来实现自定义控件。

看看效果图:

程序设计-C#自定义控件 多选的下拉列表框

1.界面实现

我们先来看下界面效果怎样实现,然后再讲解具体的功能性实现。

先创建一个用户控件,当然是继承UserControl类,这个界面需要用到以下控件来实现

下拉按钮:是一个button控件

文本框:显示选中的内容,

多选列表框: checkboxlist

全选/取消:是两个LABEL控件

右下角的黑三角:是一个LABEL控件,可实现拉长下拉列表框.

窗体:点击下拉按钮,实际是弹出一个窗体,下拉列表框中的控件都在这个窗体中显示

下拉按钮的实现代码:

具有拉动功能的LABEL:

我们动态用代码生成这些控件,并设置控件的布局,

现在构造函数里生成这些控件,然后在用户控件的ComCheckBoxList_Layout事件里面布局这些控件,代码如下:

这样用户控件的布局以及完成,我们编译项目,就可以拖动用户控件到窗体上,看到效果了。

2. 绑定和添加数据

2.1 从数据库中读取数据绑定显示

既然可以从数据库中读取数据,数据源就可以是DATATABLE,我们在这里为用户控件设置数据源,以及绑定后,要显示的字段,以及对于的值字段。

为控件添加以下属性:

2.2 添加项

我们也可以不绑定数据源,为控件添加项,所有这里我们要为控件添加一个方法,可以实现手动添加项。

这样我们就为用户控件实现了两种显示数据的方法。下面我们看看在窗体中怎样使用这两种方法

在窗体上放置两个按钮,然后绑定数据。

至此,第二步骤已经完成,可以实现大部分功能了.

3.事件处理

这里我们定义下全选事件,取消事件,和某项选中状态更改时发生的事件。

这里我们自定义一个选项状态更改时发生的事件,供别人使用的时候自行处理选择状态更改逻辑,需要我们自定义事件。

然后当用户把控件拖放到窗体上,我们就可以使用该事件了。

源码下载

提取密码: 2axw 解压密码一般为本站网址。

俊霖

发表评论

您必须