代码改变世界

C#学习笔记(十五):自定义控件

2006-02-27 11:32  努力学习的小熊  阅读(1681)  评论(0编辑  收藏  举报

利用VS.NET提供的Windows Control Library类型工程,可以创建定义自己的控件。

可以开发两种不同类型的自定义控件:用户控件(或组合控件)和定制控件。

用户或组合控件:这种控件是根据现有的控件的功能创建一个新控件。这类控件一般用于把控件的用户界面和功能封装在一起,或者把几个其他控件组合在一起,改善控件的界面。

定制控件:当没有控件可以满足要求时,就创建这类控件,即从头开始创建控件。它要自己绘出用户界面,在创建控件的过程中没有现有的控件可以使用。当想要创建的控件的用户界面与其他可用的控件都不同时,一般需要创建这样的控件。

用户控件继承于一个类UserControl。这个基类提供的控件具有.NET中控件应具有的所有基本功能——我们只需创建控件即可。

与用户控件不同,定制控件通常派生于Control类,而不是UserControl类。

 

创建过程也比较简单,首先创建一个Windows Control Library工程,然后会显示一个可以进行控件设计的面板,在这个窗口下可以将用户需要整合要一起的控件进行编辑,然后在代码中将需要暴露给用户的属性和事件声明编写好,最后就是将其编译生成相应的DLL。在使用的时候在新的工程中引入这个DLL,然后在控件面板中找到这个控件托入窗体设计器中即可进行使用。

下面是随书的一个例子:

/Files/Bear-Study-Hard/LabelTextBox.rar