【WinForm】创建自定义控件

原文链接: https://www.cnblogs.com/bomo/archive/2012/12/09/2810559.html

虽然VS为我们提供了很多控件可以使用,但有时候这些控件仍然不能满足我们的要求,比如我们要对部分控件进行一些个性化的定制,例如美化控件,这时候就需要自己绘制控件,或是在原有控件的基础上进行修改。

自定义控件分为三种:

  1、组合控件(CompositeControls):在原有控件的基础上根据需要进行组合。

  2、扩展控件(ExtendedControls):继承自原有控件,添加一些新的属性和方法,绘制一些新元素。

  3、自定义控件(CustomControls):控件的绘制全部由用户定义。

1、组合控件

  新建项目,拖入需要的控件,就像在窗体一样。

【WinForm】创建自定义控件_第1张图片

【WinForm】创建自定义控件_第2张图片

 

 

  编译生成,可以查看控件的外观。

【WinForm】创建自定义控件_第3张图片

 

  在生成的目录可以找到相应的控件库文件CompositeControl.dll

【WinForm】创建自定义控件_第4张图片

 

  这样组合控件的dll就做好了,用法后面再讲。

2、扩展控件

  首先,添加一个类库。

【WinForm】创建自定义控件_第5张图片

 

  引用两个命名空间 System.Drawing 和 System.Windows.Forms ,类改名为为ButtonEx,继承自Button。

【WinForm】创建自定义控件_第6张图片

 

  注意,扩展控件编译生成后并不能调用可视化工具查看,只生成了dll文件,需要引入到项目中使用才能看到。

3、自定义控件

  自定义控件添加方法跟扩展控件一样,只是最后类是继承自Control类的。

【WinForm】创建自定义控件_第7张图片

接下来是把控件库引入到项目中使用:

  如果项目和控件库项目在同一解决方案中的话,控件会自动引入到工具箱:

【WinForm】创建自定义控件_第8张图片

 

  如果在不同项目中:

【WinForm】创建自定义控件_第9张图片

 

  浏览 选择库文件,然后将该控件打钩:

【WinForm】创建自定义控件_第10张图片

 

  将控件拖到窗体中:

【WinForm】创建自定义控件_第11张图片

 

你可能感兴趣的:(WinForm开发)