一:.NET设计期架构支持
\n
不用在控件中实现设计期能力,而是在控件以外的类中实现这些能力。通过元数据attribute把这些类和控件关联起来。把设计期的实现和运行期的实现分开。例:DropDownList的可视化设计器,ColorEditor的UI类型编辑器。
\n
提供设计期功能的类如下:
\n
UI类型编辑器:提供一个编辑属性的特殊的用户界面。例颜色选择下拉列表(System.Drawing.Design.ColorEditor),当点属性浏览器中的ConColor(这里的ConColor指得是你开发控件时的自定义属性) 属性时。属性浏览将通过它提供一个颜色下拉列表UI界面。继承自:System.Drawing.Design.UITypeEditor 类。通过System.ComponentModel.EditorAttribute元数据attribute与Color类型关联.
\n
类型转换器:实现字符串值到值与相关类型和其他类型之间的转换。把用户文本字符串转成表示属性值的对象。通过控件的属性类型间接与该控件相关联。例:System.Drawing.ColorConverter类是一个类型转换器,它派生于System.ComponentModel.TypeConvert类。通过期作废TypeConverterAttribute的attribute把它与 ConColor(同上)属性的确System.Drawing.Color类型相关联.
\n
设计器:管理在设计界面中控件外观和行为。控件可在设计期而不是运行期提供可视化表示。例:假ControlDesinger类是一个设计器。管理设计界面上的CoustomControl控件的外观和行为。它派生自System.Web.UI.Design.ControlDesiger,通过System.ComponentModel.DesinerAttribute元数据attribute与CustomControl关联。
\n
组件编辑器:为控件属性的总体编辑提供一个UI.例:假定CustomControlComponentEditor类是一个组件编辑器。提供了编辑出版CustomControl 经常被访问的属性的UI。它派生自System.Windows.Forms.Design.WindowsFormsComponentEditor,通过EditorAttribute与CustomControl关联.
\n
下面是图例:
\n
\n