UITypeEditor 类提供一种基类,可以从该基类派生和进行扩展,以便为设计时环境实现自定义类型编辑器。在文本框值编辑器不足以有效地选择某些类型的值得情况下,自定义类型编辑器非常有用。若要实现自定义设计时UI 类型编辑器,必须执行下列步骤:
1. 定义一个从UITypeEditor 派生的类。
2. 重写EditValue 方法以处理用户界面、用户输入操作以及值得分配。
3. 重写GetEditStyle 方法,以便将编辑器将使用的编辑器样式的类型通知给属性窗口。
namespace System.Drawing.Design
{
//指定System.Drawing.Design.UITypeEditor的值编辑样式
public enum UITypeEditorEditStyle
{
//不提供任何交互用户界面(UI)组件。
None = 1,
//模式窗口
Modal = 2,
//显示一个下拉箭头按钮,并在下拉对话框中承载用户界面(UI)。
DropDown = 3,
}
}
类型 | 说明 |
UITypeEditor | 提供用于实现值编辑器的基类。 |
IToolboxService | 提供管理和查询开发环境中的“工具箱”的方法和属性 |
ToolboxItem | 提供工具箱的基实现。 |
类型 | 说明 |
DesignerActionList | 为类型提供基类,这些类型定义用户创建智能标记面板的项目的列表。 |
DesignSurface | 为设计组件提供一个用户界面。 |
IDesigner | 提供构建自定义设计器的基本框架。 |
IRootDesigner | 提供对根级设计器视图技术的支持。 |
IExtenderProviderService | 提供一个接口,用于在设计时添加和移除扩展程序提供程序。 |
UndoEngine | 指定一般撤销/重复功能。 |
类型 | 说明 |
IWindowsFormsEditorService | 提供一个接口,供UI 类型编辑器用来在设计模式下显示Windows窗体,或显示PropertyGrid控件中的下拉区域中的控件。 |
ControlDesigner | 基设计器类,用于扩展Control 的设计模式行为。 |
DocumentDesigner | 基设计器类,用于扩展支持嵌套控件并接收滚动消息的Control 的设计模式行为,并为其提供根级设计模式视图。 |
类型 | 说明 |
BehaviorService | 管理设计器中的用户界面。 |
Behavior | 表示由BehaviorService 管理的Behavior 对象。 |
Adorner | 管理与用户界面相关的Glyph 对象的集合。此类不能被继承。 |
Glyph | 表示一个由Adorner 管理的用户界面(UI)实体。 |
对于自定义的控件,如何为某个属性配置一个UITypeEditor 来作为设计时属性编辑器呢?其实只需要在某个属性上用Editor 属性进行标注即可。
[Editor(typeof(WidthEditor)),typeof(UITypeEditor)]
public int RectHeight