WinForm控件开发总结(一)

WinForm控件开发总结(一)

ID:39470159

大小:15.44 KB

页数:3页

时间:2019-07-04

WinForm控件开发总结(一)_第1页
WinForm控件开发总结(一)_第2页
WinForm控件开发总结(一)_第3页
资源描述:

《WinForm控件开发总结(一)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、WinForm控件开发总结(一)------开篇来源:51编程网发布时间:2009-08-21Hits:526我本人不是专业的控件开发人员,只是在平常的工作中,需要自己开发一些控件。在自己开发WinForm控件的时候,没有太多可以借鉴的资料,只能盯着MSDN使劲看,还好总算有些收获。现在我会把这些经验陆陆续续的总结出来,写成一系列方章,希望对看到的朋友有所帮助。今天我来开个头。      其实开发WinForm控件并不是很复杂,.NET为我们提供了丰富的底层支持。如果你有MFC或者API图形界面的开发经验,那么学会WinForm

2、控件可能只需要很短的时间就够了。      自己开发的WinForm控件通常有三种类型:复合控件(CompositeControls),扩展控件(ExtendedControls),自定义控件(CustomControls)。         复合控件:将现有的各种控件组合起来,形成一个新的控件,将集中控件的功能集中起来。     扩展控件:在现有控件的控件的基础上派生出一个新的控件,为原有控件增加新的功能或者修改原有控件的控能。      自定义控件:直接从System.Windows.Forms.Control类派生出来。C

3、ontrol类提供控件所需要的所有基本功能,包括键盘和鼠标的事件处理。自定义控件是最灵活最强大的方法,但是对开发者的要求也比较高,你必须为Control类的OnPaint事件写代码,你也可以重写Control类的WndProc方法,处理更底层的Windows消息,所以你应该了解GDI+和WindowsAPI。          本系列文章主要介绍自定义控件的开发方法。      控件(可视化的)的基本特征:      1.      可视化。      2.      可以与用户进行交互,比如通过键盘和鼠标。      3.  

4、    暴露出一组属性和方法供开发人员使用。      4.      暴露出一组事件供开发人员使用。      5.      控件属性的可持久化。      6.      可发布和可重用。      这些特征是我自己总结出来,不一定准确,或者还有遗漏,但是基本上概括了控件的主要方面。      接下来我们做一个简单的控件来增强一下感性认识。首先启动VS2005创建一个ClassLibrary工程,命名为CustomControlSample,VS会自动为我们创建一个solution与这个工程同名,然后删掉自动生成的Clas

5、s1.cs文件,最后在Solutionexplorer里右键点击CustomControlSample工程选择Add->Classes…添加一个新类,将文件的名称命名为FirstControl。下边是代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.ComponentModel;usingSystem.Drawing;namespaceCustomControlSample{ 

6、  publicclassFirstControl:Control   {       publicFirstControl()       {       }       //ContentAlignmentisanenumerationdefinedintheSystem.Drawing       //namespacethatspecifiesthealignmentofcontentonadrawing       //surface.       privateContentAlignmentalignmentVal

7、ue=ContentAlignment.MiddleLeft;       [       Category("Alignment"),       Description("Specifiesthealignmentoftext.")       ]       publicContentAlignmentTextAlignment       {           get           {               returnalignmentValue;           }           set   

8、        {               alignmentValue=value;               //TheInvalidatemethodinvokestheOnPaintmethoddescribed               //i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。