开发控件的入门知识(菜鸟级)
尝试着做了一个继承Button的控件,功能也就是指定Button的背景色而已,虽然功能很简单,但是可以掌握开发控件的入门知识。。。。,go on:
1。新建一个windows控件库的项目buttonlibMColor,将cs的文件名修改为:buttonlibMColor,类名修改为:buttonlibMColor。
2。将继承的类修改为:System.Windows.Forms.Button
ok,着手代码的编写
指定背景色的颜色:
重写OnPaint事件:
1。新建一个windows控件库的项目buttonlibMColor,将cs的文件名修改为:buttonlibMColor,类名修改为:buttonlibMColor。
2。将继承的类修改为:System.Windows.Forms.Button
ok,着手代码的编写
指定背景色的颜色:
1public override Color BackColor
2 {
3 get
4 {
5 return base.BackColor;
6 }
7 set
8 {
9 base.BackColor = System.Drawing.Color.DodgerBlue;
10 }
11 }
2 {
3 get
4 {
5 return base.BackColor;
6 }
7 set
8 {
9 base.BackColor = System.Drawing.Color.DodgerBlue;
10 }
11 }
重写OnPaint事件:
1protected override void OnPaint(PaintEventArgs e)
2 {
3 base.BackColor = BackColor;
4 base.OnPaint (e);
5 }
2 {
3 base.BackColor = BackColor;
4 base.OnPaint (e);
5 }
编译之后:
新建一个工程文件,在引用中添加buttonlibMColor.dll组件。并且在项目选项卡中添加该控件,将该控件拖入到页面上。编译就可看到刚才所做的效果。。想做复杂的就得花点时间了。。。
添加控件属性(在上面的工程中添加如下的代码):
Color b_Color ;
[Browsable(true),Description("设置BtnColor的颜色"),Category("自定义"),DefaultValue("")]
public Color BtnColor
{
get
{
return b_Color;
}
set
{
b_Color = System.Drawing.Color.Orange;
Invalidate();
}
}
[Browsable(true),Description("设置BtnColor的颜色"),Category("自定义"),DefaultValue("")]
public Color BtnColor
{
get
{
return b_Color;
}
set
{
b_Color = System.Drawing.Color.Orange;
Invalidate();
}
}
效果如下: