- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
net精简框架程序设计:c#版
7
Inside Controls
深入控件
在本章中,我们将讨论控件(GUI 中的对象),并使用其中的五种控件创建一个示例程序。
什么是控件?
什么是.NET 精简框架控件?一言以蔽之,它是一种具有可视界面并源自于桌面版.NET 框架的控件。.NET 精
简框架控件的这些特点决定了它是什么以及它能为我们做些什么。
可视的对象
因为控件是对象,所以它们可以用精确、整洁的包装提供有价值的服务,并且可以通过 PME 显露出各自的功
能。成功进行.NET 精简框架编程的关键,就在于理解这些控件中可用的 PME 以及它们之间的内在关系。
所有的控件类都是直接或间接地从两种基类中的一种派生出来的,这两种基类分别是:组件类(Component)
和控件类(Control) 。和别的对象一样,控件有自己的代码 (类的方法)和数据(类的属性)。控件的所有者通过
调用该类的方法控制控件,并进一步通过读写该控件的属性来管理这个控件。
考虑一下 TextBox 控件。在TextBox 控件属性当中,有一项 Multiline 属性(一个用来选择多行还是单行操作的
布尔值)和一项 Text 属性 (用来访问正在被显示和编辑的文本)。在它的各种方法中,有的是修改可视状态的——
Show 和 Hide ,还有的是修改 Z 轴次序的——BringToFront 和 SendToBack 。以上所提到的属性和方法实际上提供
了两种控制控件的途径,但它们并不是唯一可行的途径。事件和响应事件的能力是控件运转很重要的一部分。
控件与大多数其他对象不同的一点在于它们引发事件的可能性更大。例如,当超过一段约定的时间时,Timer
控件会触发一个 Tick 事件。当一个 TextBox 的内容改变时,它会产生一个 TextChanged 事件。当Button 控件被点
击时产生一个 Click 事件。事实上,控件是可视的并且是 GUI 的提供者,这意味着它们会经常从用户那儿接收到
点击、单击和键盘按键,而这些事件都是控件必须传递给应用程序的。事件和它的句柄是本章中的中心主题.
应用程序可能会忽略由这些控件引发的事件,也可能对这些事件进行处理。你通过编写被称作处理程序的代
码,来处理你感兴趣的每个事件。你可以通过添加委托,即.NET 中函数指针的等价体,到事件的句柄列表来将你的
代码与事件相关联。这段代码指定命名为 txtTaskComments_TextChanged 的函数应该在事件 txtTaskComments
TextChanged 被触发后被调用.
this.txtTaskComments.TextChanged +=
new System.EventHandler(this.txtTaskComments_TextChanged);
由于控件都是对象,所以它们能够被扩展和继承,这使得我们可以扩展现有控件的功能或者写出我们自己的
.NET Compact Framework 程序设计 C#版
216 第 7 章 深入控件
新控件类。这两种方法正是第十章的主题,我们在本章不做讨论。在本章我们将把注意力集中在.NET 精简框架本
身提供的控件上。
源于桌面版.NET 框架
因为.NET 精简框架控件是从桌面版.NET 框架继承来的,它在这一继承过程中丧失了某些功能,所以有时有
经验的.NET 框架程序员会对它感到熟悉,但有时又会感到它有所不同。这个变化的过程是本章一个很好的开始;
有助于你理解.NET 精简框架控件是如何产生的,理解它们可以为你做些什么。
微软创造了.NET 精简框架控件。.NET 精简框架控件是从.NET 框架(也就是我们所称的桌面版.NET 框架)
移植过来的,用来实现下列设计目标:
基于.NET 框架的优点。
与桌面版保持一致。
文档评论(0)