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