近来因为项目的问题,开始研究winform自定义控件,这篇主要是将自定义控件的属性在属性编辑器中可编辑,如果你对自定义控件比较了解的,就不用继续往下看了
首先,我创建了一个类UserButton,继承了Button这个窗体控件,这个自定义的按钮主要作用有3个,最大化,最小化,关闭,这里我就不写具体3个功能的操作了
通过构造,重新设置样式
1 public UserButton() : base() { 2 base.SetStyle( 3 ControlStyles.UserPaint | 4 ControlStyles.AllPaintingInWmPaint | 5 ControlStyles.OptimizedDoubleBuffer | 6 ControlStyles.ResizeRedraw, true); 7 }
然后我们建立一个枚举类型
public enum BtnFunction { Max,Min,Close }
private BtnFunction _bFunction; [Category("BtnFunction"), DefaultValue(BtnFunction.Max), Browsable(true), Description("设置按钮的用处,可选'最大化','最小化','关闭'")] public BtnFunction BFunction { get { return _bFunction; } set { if (value != _bFunction) { _bFunction = value; this.Invalidate(); } } }
这里主要就是设置变量,将变量显示在编辑器中.
现在你可以创建一个窗体应用程序,来试试这个功能了