首先,在想要用自定义控件的解决方案中新建一个项目,该项目用来存放所有的自定义控件。
解决方案-右键-添加-新建项目
添加新项目的界面选择Windows窗体控件库,点击确定。
此时,已经添加好了新的项目,默认会有一个自定义的用户控件,如果不打算用它,可以删掉它。
接下来,我们添加自己的自定义控件,这里我以button为例:
右键项目(刚刚添加的MyControl项目)-添加-新建项
在添加新项界面选择自定义控件,并取名MyButton,点击确定。
在弹出的MyButton设计界面上点右键,查看代码,去编辑MyButton的属性
在MyButton.cs文件中,我们需要将MyButton的父类改成我们需要继承的类:Button,并在MyButton()构造函数后面加上初始化的内容
这样我们就继承了button控件,可以在它原来的功能基础上增加自己想要的功能。比如我增加默认的颜色和文字。
然后右键解决方案,重新生成解决方案,把自定义的控件编译成dll文件
然后右键MyControl项目-在文件资源管理器中打开文件夹,在你的平台对应的Debug文件夹下找到MyControl的dll文件,比如我这里的路径是项目路径下的
这时候打开一个界面的设计窗口,我这里打开原本的Form1,把dll文件拖入工具箱的空白处
这样工具箱的常规窗口就有MyButton啦
或者直接在MyButton代码中加入开关,[ToolboxItem(true)]就是自定义控件显示在工具箱的开关,这样设置工具箱中就会直接有MyControl的所有组件啦
此时MyButton就可以跟正常控件一样拖进来使用啦