c自定义控件从入门到精通

c自定义控件从入门到精通

ID:32398830

大小:258.50 KB

页数:10页

时间:2019-02-04

c自定义控件从入门到精通_第1页
c自定义控件从入门到精通_第2页
c自定义控件从入门到精通_第3页
c自定义控件从入门到精通_第4页
c自定义控件从入门到精通_第5页
资源描述:

《c自定义控件从入门到精通》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、自定义控件从入门到精通一、概述Windows窗体控件是可再次使用的组件,它们封装了用户界面功能,并且可以用于客户端Windows应用程序。“Windows窗体”不仅提供了许多现成控件,还提供了自行开发控件的基础结构。可以组合现有控件、扩展现有控件或创作自己的自定义控件。Windows窗体控件是从System.Windows.Forms.Control直接或间接派生的类。以下列表描述了开发Windows窗体控件的常见方案:· 组合现有控件来创作一个复合控件。复合控件封装有一个可以作为控件重复使用的用户

2、界面。可视化设计器为创建复合控件提供了有力的支持。要创作一个派生自System.Windows.Forms.UserControl的复合控件。基类UserControl为子控件提供了键盘路由并使子控件可以作为一个组进行工作。· 扩展现有控件,对其进行自定义或为其添加功能。可以通过从任何Windows窗体控件派生控件并重写或添加属性、方法和事件的方式来自定义Windows窗体控件。· 创作一个不是通过组合或扩展现有控件而形成的控件。在这种方案中,需从基类System.Windows.Forms.Con

3、trol派生控件。可以添加和重写基类的属性、方法和事件,来制作功能强大,能满足自己需求的控件。Windows窗体控件的基类System.Windows.Forms.Control为客户端Windows应用程序中的外观显示提供了所需的途径。Control提供了一个窗口句柄,用来处理消息路由并提供鼠标和键盘事件及许多其他用户界面事件。还提供了高级布局,并具有用于外观显示的特定属性,如ForeColor、BackColor、Height、Width和许多其他属性。此外,它还提供了安全性、线程支持以及与Ac

4、tiveX控件的交互性。由于基类提供了很多基础结构,使得开发自己的Windows窗体控件变得相对简单。二、编写简单的自定义控件2.1、简单控件例子下面的示例创建一个简单控件,该控件通过处理Paint事件显示其Text属性的值。为了创建此控件和处理事件,必须创建一个从Control继承的类,并创建一个重写OnPaint方法的方法。public class HelloWorldControl : Control {protected override void OnPaint(PaintEventArg

5、s e) {        RectangleF rect = new RectangleF(ClientRectangle.X,                                         ClientRectangle.Y,                                         ClientRectangle.Width,                                         ClientRectangle.Height);

6、        e.Graphics.DrawString(this.Text, Font, new SolidBrush(ForeColor), rect);10    }}2.2、我们在VS2005中创建自定义控件的步骤:1. 打开vs2005,文件/新建/项目。2. 出现“新建项目”对话框。3. 在“名称”框中,键入项目名称,“位置”框选择要存储的位置。4. 从“语言”列表中选择要使用的编程语言。5. 单击“添加”,这时一个自定义控件工程已经建成,生成一下,就制作了一个简单的自定义控件,只不过

7、没有任何功能。6. 向新用户控件添加任何标记和控件,并为该用户控件添加执行的所有任务(例如,处理控件事件或从数据源读取数据)添加代码。2.3、检查控件的设计时行为1.启动VS2005。2.通过从“文件”菜单单击/新建/项目/Windows应用程序,添加新窗体。3.右键“工具箱/选择项…”,在弹出的“选择工具箱项”对话框中点下面的浏览按钮选择要使用控件的DLL;确定后,该控件出现在工具箱的底部。4.选择该控件并将其添加到窗体中。将看到该控件出现在窗体上。5.如果从上一个示例添加控件,您将注意到即使如此

8、简单的控件都具有一整套属性和广泛的设计时行为。此默认行为是从Control类继承的。三、为控件添加属性控件应该定义属性而不是公共字段,因为可视化设计器在属性浏览器中显示属性,而不显示字段。属性就像智能字段。属性通常具有带访问函数的专用数据成员,在语法上属性被作为类的字段进行访问。(虽然属性可以具有不同的访问级别,但此处的讨论将重点放在公共访问这种更加常见的情况上。属性定义通常由以下两部分组成:1、专用数据成员的定义。  privateintnumber=0;2、使用属

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

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

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