近来因为项目的问题,开始研究winform自定义控件,这篇主要是将自定义控件的属性在属性编辑器中可编辑,如果你对自定义控件比较了解的,就不用继续往下看了
首先,我创建了一个类UserButton,继承了Button这个窗体控件,这个自定义的按钮主要作用有3个,最大化,最小化,关闭,这里我就不写具体3个功能的操作了
通过构造,重新设置样式
public UserButton() : base() {
base.SetStyle(
ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.OptimizedDoubleBuffer |
ControlStyles.ResizeRedraw, true);
}
然后我们建立一个枚举类型
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();
}
}
}
这里主要就是设置变量,将变量显示在编辑器中.
现在你可以创建一个窗体应用程序,来试试这个功能了