- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#NET网络开发技术-更多文档分类.ppt
第10章 基于组件的开发技术 10.1 组件和控件 10.2 组件的设计 10.3 用户控件 10.4 自定义控件 10.5 扩展控件 “基于组件编程有很多优势:代码重用,团队支持,多语言开发和独立更新。在90年代,COM是微软流行的基于组件开发的模型。.NET代替了COM,提供了一个全新的模型:语言独立的,注册自由,版本明确的。。。。” 本章概要 日常开发中,经常需要创建一些可以重用的控件。本章介绍如何开发组件和Windows窗体控件的技术,主要介绍组件和控件的创建、在组件中使用事件、扩展已有组件、从Control类继承创建新控件和为控件添加设计时的功能等。 纲要 基本概念 在组件中使用事件 开发Windows窗体控件 基本概念 组件的概念 实现了接口System.ComponentModel.IComponent的类,或者是从System.ComponentModel.Component类以及其他实现了IComponent接口的类得到的派生类。 可以被重用,也可以和其他对象进行交互。 也可以使用结构来实现组件,但是结构不能用来派生新类,通常使用类来实现组件。 组件的使用 通常都要包含在一个命名空间中,在创建组件时需要使用Namespace语句为组件声明相应的命名空间。 组件实质是类,可以实现继承的方法和属性,也可以添加自己的方法、属性和事件等 实际编程中,通常使用属性来代替公共字段。因为在VS.NET的可视化设计器中会显示组件的属性,而不显示组件字段。 使用属性可以在访问时进行验证或执行一些复杂的操作,要比字段来得灵活。 开发组件要注意组件的创建和销毁。 构造函数和析构函数 析构函数的调用时间不确定,可能会造成组件使用完成与析构函数调用之间有延迟,因此,要同时在组件中实现Dispose方法,以便通过它来明确释放组件占用的资源。 组件示例 using System; … Namespace MyNamespace { //定义组件类 public class MyComponent:System.ComponentModel.Component { private int m_myProperty; //声明字段 public MyComponent() {…} public int Myproperty //声明属性 { get { … } set { … } } protected override void Dispose( bool disposing ) { if(disposing) { … } base.Dispose(disposing); //必须调用基类的Dispose方法 //释放资源 … } } } Component类的Dispose方法 public void Dispose() Protected virtual Dispose( bool disposing ) 在组件直接或间接从Component类派生时,使用自定义方法覆盖基类的带参Dispose方法即可,但一定要在方法中实现调用基类的Dispose方法。 如果通过IDisposable接口来创建组件,需要自定义Dispose方法。 容器Container 实现了System.ComponentModel.IContainer接口的类,或者是从实现了这个接口的类得到的派生类。 一个容器可以包含一个或多个组件,这些组件称为容器的子组件。 站点Site 实现了System.ComponentModel.ISite接口的类。或是由实现了这个接口的类得到的派生类。 由容器提供,以管理它所包含的子站点并与子站点通信。 子组件通过站点与容器进行交互。 容器和站点通常是作为整体来实现。 控件 具有用户界面的组件。 Windows窗体控件 从现有控件类派生的控件 从UserControl类派生的控件 从Control类派生的控件 组件通常以.DLL形式文件打包成程序集。其中包含了使用组件需要的所有信息,因此不需要再使用其他文件。 使用模板创建组件,其自动配置项目属性可以生成DLL文件。 在组件中使用事件 触发事件的对象称作发送者,捕获并响应事件的对象称为接收者。事件是组件同客户进行通信的有效手段。 委托 事件通信中,事件的发送者不知道其接收者,我们需要一个媒介来连接发送者和接收者。这个媒介就是委托。 委托是一个类,用于绑定和引用方法。它具有签名,只能绑定匹配参数格式一致的方法。 public delegate void AlarmEventHandler( object sender, AlarmEventArg
您可能关注的文档
- 创维液 晶电视 32E1A 使用说 明书 .PDF
- 90国际刑事法院罗马规约.PDF
- A5N和A6N的比较-PanasonicIndustrialDevices-松下电器.PDF
- ACTIVAL电动二通阀(JIS10K-FC200,-SCS13A)VY51XXLAI-6592C.PDF
- AHLSTAR端吸单级离心泵-Sulzer.PDF
- AllsteelRelate系列座椅的人体工程学设计评估.PDF
- ANKYLOS目录-登士柏种植体,登士柏种植系统,种植体,牙科.PDF
- ATLASTGC的研制、生产.ppt
- AutoCad在滴灌技术中的应用(格式).ppt
- 企业的B2B实操及出路.ppt
- CAP715-专业网站制作.doc
- CellAdvisorJD746BJD786B射频分析仪-VIAVISolutionsInc.PDF
- CJ1W-V680C1,CS1W-V680C1产品样本(Web版)-欧姆龙自动化.PDF
- CMS和LHCb的3个LHC合作实验的中国组承担的探测器建造任务有-上海应用.ppt
- Concept构思HEMMA咖啡厅构思.PDF
- CoremailiPad界面使用手册.doc
- Cortana精彩待续SkypeTranslator梦想照进现实-微软亚洲研究院.PDF
- CTC招股说明书-中国证监会.PDF
- CWG-管理权第2版提案草案意见模板.doc
- EAS-dutytorque安装和操作说明书.PDF
最近下载
- 网络传播法规(自考14339)复习必备题库(含答案).pdf VIP
- 2023-2024学年江苏南通市启秀中学数学七年级第一学期期末质量跟踪监视试题含解析.doc VIP
- 2024年贵州省黔西南州贞丰县龙场镇招聘社区工作者真题参考答案详解.docx VIP
- 山东省烟台市蓬莱区(五四制)2024-2025学年九年级上学期期中考试数学试题.docx VIP
- A公司管理人员绩效考核优化研究.doc VIP
- 2019-2021年江苏省镇江市中考数学试卷及答案.docx VIP
- 高考地理答题模板和技巧.pdf VIP
- 昆虫物种识别与分类的现代分子方法.pptx VIP
- 精神科团体心理治疗.pptx VIP
- Z公司销售人员绩效考核体系优化路径探讨.doc VIP
原创力文档


文档评论(0)