.net控件开发(十一)之.net设计期功能 第一部分
一:.NET设计期架构支持
不用在控件中实现设计期能力,而是在控件以外的类中实现这些能力。通过元数据attribute把这些类和控件关联起来。把设计期的实现和运行期的实现分开。例:DropDownList的可视化设计器,ColorEditor的UI类型编辑器。
提供设计期功能的类如下:
UI类型编辑器:提供一个编辑属性的特殊的用户界面。例颜色选择下拉列表(System.Drawing.Design.ColorEditor),当点属性浏览器中的ConColor(这里的ConColor指得是你开发控件时的自定义属性) 属性时。属性浏览将通过它提供一个颜色下拉列表UI界面。继承自:System.Drawing.Design.UITypeEditor 类。通过System.ComponentModel.EditorAttribute元数据attribute与Color类型关联.
类型转换器:实现字符串值到值与相关类型和其他类型之间的转换。把用户文本字符串转成表示属性值的对象。通过控件的属性类型间接与该控件相关联。例:System.Drawing.ColorConverter类是一个类型转换器,它派生于System.ComponentModel.TypeConvert类。通过期作废TypeConverterAttribute的attribute把它与 ConColor(同上)属性的确System.Drawing.Color类型相关联.
设计器:管理在设计界面中控件外观和行为。控件可在设计期而不是运行期提供可视化表示。例:假ControlDesinger类是一个设计器。管理设计界面上的CoustomControl控件的外观和行为。它派生自System.Web.UI.Design.ControlDesiger,通过System.ComponentModel.DesinerAttribute元数据attribute与CustomControl关联。
组件编辑器:为控件属性的总体编辑提供一个UI.例:假定CustomControlComponentEditor类是一个组件编辑器。提供了编辑出版CustomControl 经常被访问的属性的UI。它派生自System.Windows.Forms.Design.WindowsFormsComponentEditor,通过EditorAttribute与CustomControl关联.
下面是图例:
后记:
-------------------------
1.net组件开发系列(—)之武术系列-----------马步功 之基本功
2.net组件开发系列(—)之武术系列--------太极拳 开发ajax控件
3..net组件开发系列之武术系列 武术招数 控件生命周期与控件事件机制
4..net控件开发系列 事件处理机制 三个接口两个方法
5..net控件开发(五)之 深入理解控件的呈现原理
6..net控件开发(六)之深究控件样式
7..net控件开发(七)之复合控件(1)概念基础篇
8.Asp.net 控件开发(八)之复合控件(二) 复合控件视图幕后机制
9.Asp.net控件开发(九)之复合控件(3)事件机制