WinForm创建自定义控件

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

自定义控件分为三种

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

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

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

1、组合控件

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

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

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

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

2、扩展控件

首先,添加一个类库

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

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

3、自定义控件

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

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

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

如果在不同项目中

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

将控件拖到窗体中

文章来源:http://www.cnblogs.com/bomo/archive/2012/12/09/2810559.html

原文地址:https://www.cnblogs.com/DreamRecorder/p/9272485.html