C#控件开发 【入门篇】

       C#控件的出现,让界面UI的操作的重用得到很大的提高,对开发效率的提高很有积极的意义,但是很多时候.net frame自带的控件和第三方控件都难以满足我们自己的开发需求,这个时候我们可以使用.net的自定义控件,来开发属于自己的控件。甚至可以加入VS   的工具箱,像使用自带控件一样,随心所欲的拖动得到自己的要求。

      要开发C#控件,首先就需要了解什么是控件,控件实现的基本原理是什么,然后根据这些原则,我们进行若干个控件的开发实践,我们就可以进行自己的控件开发。

 

首先、什么是控件?

      控件其实是一组从System.Winddows.Controls或者其子类继承得来暴露给用户一些字段或者方法,可以直接通过拖拉来被重用的类库。(以上概念是我根据自己的理解总结的,如果有不准确的地方,欢迎大家拍砖)。

      从控件的定义,我们得到需要从Controls或者其子类继承来开发控件。在.net的开发中自己开发的WinForm控件通常有三种类型:复合控件(Composite Controls),扩展控件(Extended Controls),自定义控件(Custom Controls)。

      复合控件:将现有的各种控件组合起来,形成一个新的控件,将集中控件的功能集中起来。
      扩展控件:在现有控件的控件的基础上派生出一个新的控件,为原有控件增加新的功能或者修改原有控件的控能。
      自定义控件:直接从System.Windows.Forms.Control类派生出来。Control类提供控件所需要的所有基本功能,包括键盘和鼠标的事件处理。自定义控件是最灵活最强大的方法,但是对开发者的要求也比较高,你必须为Control类的OnPaint事件写代码。所以至少你需要了解和学习GDI+的使用,通过GDI简单学习资料,你可以下载到一份简单的GDI+学习资料,可以带领你入门,更高级的C#GDI+编程你可以查阅相关的资料。

 

其次、控件实现的原理。

       在这系列文章中,我们主要讲解UI窗体控件,而这一些的控件的基本原理都是暴露一些属性、方法和事件给用户,然后用户通过这一系列的属性、方法和事件来达到和控件之间的交互,而控件通过OnPaint(PaintEventArgs e)方法的执行,把结果通过GDI+或者其他行为,展示在窗体(控件)上。

      通过控件的实现原理,我们知道我们要使用控件开发,则需要实现一些公开的方法、事件、属性,并且实现OnPaint方法。

 

根据对控件和控件原理的理解,我们来做一个简单的小控件。来从代码的级别来理解下控件的实现。

意图:我们做一个类似Label的控件,可以实现通过Text的设置,来显示出来这些文字:

首先我们来新建一个控件类库:

在选择了Windows窗体控件库以后,默认会带有一个用户控件,因为我们要开发的是一个自定义控件,所以可以把这个文件删掉。

 

在打开的文件中我们鼠标点击右键,选择查看代码:因为本代码非常简单,所以就不啰嗦了,带注释贴在上面:

 

以上代码在vs 2008中实现。

 

咱们可以通过编译后,来添加一个测试项目。

 

      

 

即可测试咱们想要的效果。

 

 

 

如果你在看这篇文章的话,说明你是一个技术。那么你一定不愿意错过这篇文章,欢迎去看看

http://blog.csdn.net/aofengdaxia/archive/2010/10/15/5944193.aspx

 

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aofengdaxia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值