- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C_自定义控件从入门到精通.doc
自定义控件从入门到精通
一 、概述
Windows 窗体控件是可再次使用的组件,它们封装了用户界面功能,并且可以用于客户端 Windows 应用程序。“Windows 窗体”不仅提供了许多现成控件,还提供了自行开发控件的基础结构。可以组合现有控件、扩展现有控件或创作自己的自定义控件。Windows 窗体控件是从 System.Windows.Forms.Control 直接或间接派生的类。以下列表描述了开发 Windows 窗体控件的常见方案:
·? 组合现有控件来创作一个复合控件。
复合控件封装有一个可以作为控件重复使用的用户界面。可视化设计器为创建复合控件提供了有力的支持。要创作一个派生自 System.Windows.Forms.UserControl 的复合控件。基类 UserControl 为子控件提供了键盘路由并使子控件可以作为一个组进行工作。
·? 扩展现有控件,对其进行自定义或为其添加功能。
可以通过从任何 Windows 窗体控件派生控件并重写或添加属性、方法和事件的方式来自定义 Windows 窗体控件。
·?创作一个不是通过组合或扩展现有控件而形成的控件。
在这种方案中,需从基类 System.Windows.Forms.Control 派生控件。可以添加和重写基类的属性、方法和事件,来制作功能强大,能满足自己需求的控件。
Windows 窗体控件的基类 System.Windows.Forms.Control 为客户端 Windows 应用程序中的外观显示提供了所需的途径。Control 提供了一个窗口句柄,用来处理消息路由并提供鼠标和键盘事件及许多其他用户界面事件。还提供了高级布局,并具有用于外观显示的特定属性,如 ForeColor、BackColor、Height、Width 和许多其他属性。此外,它还提供了安全性、线程支持以及与 ActiveX 控件的交互性。由于基类提供了很多基础结构,使得开发自己的 Windows 窗体控件变得相对简单。
二、编写简单的自定义控件
2.1、简单控件例子
下面的示例创建一个简单控件,该控件通过处理 Paint 事件显示其 Text 属性的值。为了创建此控件和处理事件,必须创建一个从 Control 继承的类,并创建一个重写 OnPaint 方法的方法。
public?class?HelloWorldControl?:?Control?{protected?override?void?OnPaint(PaintEventArgs?e)?{????????RectangleF?rect?=?new?RectangleF(ClientRectangle.X,?????????????????????????????????????????ClientRectangle.Y,?????????????????????????????????????????ClientRectangle.Width,?????????????????????????????????????????ClientRectangle.Height);????????e.Graphics.DrawString(this.Text,?Font,?new?SolidBrush(ForeColor),?rect);????}}
2.2、我们在VS2005中创建自定义控件的步骤:
1.?打开vs2005,文件/新建/项目。
2.?出现“新建项目”对话框。
3.?在“名称”框中,键入项目名称,“位置”框选择要存储的位置。
4.?从“语言”列表中选择要使用的编程语言。
5.?单击“添加”,这时一个自定义控件工程已经建成,生成一下,就制作了一个简单的自定义控件,只不过没有任何功能。
6.?向新用户控件添加任何标记和控件,并为该用户控件添加执行的所有任务(例如,处理控件事件或从数据源读取数据)添加代码。
2.3、检查控件的设计时行为
1. 启动 VS2005。
2. 通过从“文件”菜单单击/新建/项目/Windows应用程序,添加新窗体。
3. 右键“工具箱/选择项…”,在弹出的“选择工具箱项”对话框中点下面的浏览按钮选择要使用控件的 DLL;确定后,该控件出现在工具箱的底部。
4. 选择该控件并将其添加到窗体中。将看到该控件出现在窗体上。
5. 如果从上一个示例添加控件,您将注意到即使如此简单的控件都具有一整套属性和广泛的设计时行为。此默认行为是从 Control 类继承的。
三、为控件添加属性
控件应该定义属性而不是公共字段,因为可视化设计器在属性浏览器中显示属性,而不显示字段。属性就像智能字段。属性通常具有带访问函数的专用数据成员,在语法上属性被作为类的字段
您可能关注的文档
- 2014年退耕还林新政策.ppt
- 2014活性炭投加设备.docx
- 2015-2016学年北京市西城区七年级第二学期期末数学试卷及答案.doc
- 2015届惠州一调 理数.doc
- 2015年425多省公务员考试行测亮眼题目大盘点.doc
- 2015法制热点面对面.doc
- 2015浙江湖州二模(含解析).doc
- 2015西安市经开管委会事业单位招聘职位表.doc
- 2015高考后澳大利亚留学:凭高考成绩可申请的名校.doc
- 2016-2021加球机行业发展预测及投资咨询报告.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
最近下载
- 2022年新高考全国Ⅰ卷英语真题.docx VIP
- 《0-3岁婴幼儿身心发展与教养》PPT教学课件.pptx VIP
- 《0-3岁婴幼儿身心发展与教养》课件06婴幼儿语言的发展及教养.pptx VIP
- 护士生涯人物访谈 .pdf VIP
- 体育职业生涯规划书课件.pptx VIP
- AB SCIEX 6500 质谱系统在食品安全中的应用.pptx VIP
- 《0-3岁婴幼儿身心发展与教养》课件05婴幼儿记忆的发展及教养.pptx VIP
- C-Primer-Plus第六版中文版习题答案.doc
- 《0-3岁婴幼儿身心发展与教养》课件09婴幼儿意志的发展及教养.docx VIP
- 新能源学生职业生涯规划与管理.pptx VIP
文档评论(0)