.NET控件开发基础(一)控件设计时支持方式之UITypeEditor

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,
        
    }
}
System.Drawing.Design 重要类型
类型说明
UITypeEditor提供用于实现值编辑器的基类。
IToolboxService提供管理和查询开发环境中的“工具箱”的方法和属性
ToolboxItem提供工具箱的基实现。
System.ComponentModel.Design 重要类型
类型说明
DesignerActionList为类型提供基类,这些类型定义用户创建智能标记面板的项目的列表。
DesignSurface为设计组件提供一个用户界面。
IDesigner提供构建自定义设计器的基本框架。
IRootDesigner提供对根级设计器视图技术的支持。
IExtenderProviderService提供一个接口,用于在设计时添加和移除扩展程序提供程序。
UndoEngine指定一般撤销/重复功能。
System.Widnows.Forms.Design 重要类型
类型说明
IWindowsFormsEditorService提供一个接口,供UI 类型编辑器用来在设计模式下显示Windows窗体,或显示PropertyGrid控件中的下拉区域中的控件。
ControlDesigner基设计器类,用于扩展Control 的设计模式行为。
DocumentDesigner基设计器类,用于扩展支持嵌套控件并接收滚动消息的Control 的设计模式行为,并为其提供根级设计模式视图。
System.Windows.Forms.Design.Behavior 重要类型
类型说明
BehaviorService管理设计器中的用户界面。
Behavior表示由BehaviorService 管理的Behavior 对象。
Adorner管理与用户界面相关的Glyph 对象的集合。此类不能被继承。
Glyph

表示一个由Adorner 管理的用户界面(UI)实体。

对于自定义的控件,如何为某个属性配置一个UITypeEditor 来作为设计时属性编辑器呢?其实只需要在某个属性上用Editor 属性进行标注即可。

[Editor(typeof(WidthEditor)),typeof(UITypeEditor)]
public int RectHeight

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值