第20章基于组件的开发技术(zxq第3稿060316).docVIP

第20章基于组件的开发技术(zxq第3稿060316).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第20章基于组件的开发技术(zxq第3稿060316)

第20章 基于组件的开发技术 第20章 基于组件的开发技术 PAGE 22 PAGE 23  PAGE 1 第20章 基于组件的开发技术 在软件开发领域,组件技术以前所未有的方式提高了软件产业的生产效率。由于组件技术的成熟,软件产业的形式也随之发生了很大的变化。很多相对较为专业但用途广泛的软件,几乎都以组件的形式组装和扩散到一般的软件产品中。 在VS2005中,已经提供了相当丰富的组件,包括具有界面功能的组件——控件。常用的组件已经放到工具箱中,可以直接使用。但是有时也需要自己开发一些组件或控件,本章将简要介绍与此相关的技术和设计技巧。 20.1 组件和控件 这一节主要介绍组件、控件以及特性的基本概念。 1. 组件 在.NET Framework中,组件是指实现System.ComponentModel.IComponent接口的类,或从实现IComponent的类中直接或间接派生的类。在软件开发中,组件是指可重复使用并且可以和其他对象进行交互的对象。.NET Framework组件除了满足这些要求外,还提供了设计时支持,即作为组件的类可直接添加到VS2005工具箱中,也可将组件拖放到某个窗体上,并在设计界面上对组件进行操作。 从组件的概念可知,组件也是由类实现的,但一个类要成为组件,必须实现System.ComponentModel.IComponent接口,并提供一个没有参数的构造方法。在VS2005环境下开发的类,如果生成为.DLL后缀的文件,则这些类就自动变为组件了。 2. 控件 控件是提供或实现用户界面功能的组件。控件肯定是组件,但只有提供用户界面的组件才称之为控件。.NET Framework为控件提供两个基类:一个是System.Windows.Forms.Control,用于客户端Windows窗体控件;另一个是System.Web.UI.Control,用于ASP.NET服务器控件。.NET Framework类库中的所有控件直接或间接从这两个类派生。 3. 特性 在.NET框架中,特性(Attribute)是一种标记,用于提供属性或方法的一些信息。在组件设计中,当需要在设计时显示控件及其成员时,就可以利用特性提供有价值的信息。 特性声明在方括号中,在System.ComponentModel名称空间下定义了特性和事件的一组标准属性,当创建一个Windows窗体时,系统会自动在代码中添加???此名称空间的引用。 在属性声明的上方,可以直接声明特性,例如: //默认值 [DefaultValue(null)] //属性窗口底部的描述以及其所在分组的分类名称 [Description(校验错误时的提示文本信息。), Category(验证)] public string ErrorMessage { get { } set { } } 表20-1列出了部分特性。 表20-1 .NET Framework提供的部分特性 属性说明举例Browsable用一个布尔值指定某个属性或事件是否显示在属性窗口中,默认为true[Browsable(false)]Bindable用一个布尔值指定将属性绑定到数据对可视化设计器是否有意义,默认为false[Bindable(true)]即则该属性可显示在“数据绑定”对话框中。Category指定在可视化设计器的属性浏览器中属性分在哪一类[Category(外观)] 表示属性浏览器在“外观”类别中显示该属性。Description当用户在属性窗口中选中该属性或事件时,显示在属性窗口底部的此属性的简短描述[Description(设定渐变的起始色)]DefaultValue指定属性的默认值。此值应与从属性访问器(getter)返回的默认值相同[DefaultValue(null)]或[DefaultValue()]DefaultProperty指定组件的默认属性(Property)。在可视化设计器中,当在设计界面上单击控件时,属性浏览器通常突出显示此默认属性[DefaultProperty(Text)]DefaultEvent在可视化设计器中指定控件的默认事件[DefaultEvent(Submit)]Localizable指定本地化属性对可视化设计器是否有意义。对控件轮询可本地化的属性时,设计器会将此属性值保存到非特定于区域性的资源文件或其他本地化源中。Localizable(false|true)例如:Localizabl

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档