开发控件的入门知识(菜鸟级)

   尝试着做了一个继承Button的控件,功能也就是指定Button的背景色而已,虽然功能很简单,但是可以掌握开发控件的入门知识。。。。 emwink.gif,go on:
   1。新建一个windows控件库的项目buttonlibMColor,将cs的文件名修改为:buttonlibMColor,类名修改为:buttonlibMColor。
   2。将继承的类修改为:System.Windows.Forms.Button
   ok,着手代码的编写
   指定背景色的颜色:
  
 1 None.gif public   override  Color BackColor
 2 ExpandedBlockStart.gifContractedBlock.gif         dot.gif {
 3InBlock.gif            get
 4ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
 5InBlock.gif                return base.BackColor;
 6ExpandedSubBlockEnd.gif            }

 7InBlock.gif            set
 8ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
 9InBlock.gif                base.BackColor = System.Drawing.Color.DodgerBlue;
10ExpandedSubBlockEnd.gif            }

11ExpandedBlockEnd.gif        }

   重写OnPaint事件:
 
1 None.gif protected   override   void  OnPaint(PaintEventArgs e)
2 ExpandedBlockStart.gifContractedBlock.gif         dot.gif {
3InBlock.gif            base.BackColor = BackColor;
4InBlock.gif            base.OnPaint (e);
5ExpandedBlockEnd.gif        }

编译之后:
新建一个工程文件,在引用中添加buttonlibMColor.dll组件。并且在项目选项卡中添加该控件,将该控件拖入到页面上。编译就可看到刚才所做的效果。。想做复杂的就得花点时间了。。。emteeth.gif
    添加控件属性(在上面的工程中添加如下的代码):

None.gif Color b_Color ;
None.gif        [Browsable(
true ),Description( " 设置BtnColor的颜色 " ),Category( " 自定义 " ),DefaultValue( "" )]
None.gif        
public  Color BtnColor 
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
get
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return b_Color;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
set 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                b_Color 
= System.Drawing.Color.Orange;
InBlock.gif                Invalidate();
ExpandedSubBlockEnd.gif            }

InBlock.gif            
ExpandedBlockEnd.gif        }

效果如下:
o_btnclass.JPG



 

转载于:https://www.cnblogs.com/oldhorse/archive/2005/11/30/287702.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值