博客
关于我
VS.Net 2005 Design-Time Integration
阅读量:449 次
发布时间:2019-03-06

本文共 2038 字,大约阅读时间需要 6 分钟。

VS.NET 2005 设计时集成支持概述

本文将介绍 VS.NET 2005 的设计时集成支持,涵盖设计时属性、设计时组件以及如何在项目中添加设计时支持等内容。

设计时属性

设计时属性用于将组件与设计时功能关联。这些属性可以按类或成员级别进行设置,具体分为类型级别属性和成员级别属性。

类型级别属性

类型级别属性用于将组件类型与其他组件关联。这些属性通常位于类声明前面。例如:

[DefaultProperty("Text")][DefaultEvent("OnChange")]public class MyTextBox : TextBox{    public MyTextBox()    {    }}

在上述代码中,DefaultProperty 设置了组件的默认属性,而 DefaultEvent 设置了组件的默认事件。

成员级别属性

成员级别属性用于将组件成员与其他组件关联。这些属性通常位于属性定义前面。例如:

[Browsable(true)][Category("Appearance")][DefaultValue("")][Description("获取/设置文本值。")]public string Text{    // ...}

在上述代码中,Browsable 控制属性是否在属性网格中可见,Category 确定属性在属性网格中的分类,DefaultValue 设置属性的默认值,Description 设置属性的描述信息。

组件可以为类型和成员设置多个属性。


设计时组件

设计时组件是提供设计时功能扩展的组件。这些组件利用设计时环境,允许开发人员定制组件行为和用户界面。

设计器

设计器提供组件在设计时的行为支持。常见设计器包括 ControlDesigner 及其子类,如 DataListDesigner 和 DropDownListDesigner。这些设计器可以帮助开发人员定制组件的设计时属性和方法。

例如:

[DesignerAttribute(typeof(DataListDesigner))]public class MyList : DataList{    public MyList()    {    }}

上述代码将自定义控制器 MyList 与设计器 DataListDesigner 关联。

类型转换器

类型转换器负责将组件支持的数据类型与其他数据类型之间进行转换。类型转换器提供属性值在设计时的配置支持,包括数据类型验证、默认值生成等。

例如:

[TypeConverterAttribute(typeof(StringArrayConverter))]public string[] Items{    // ...}

上述代码将控制器属性 Items 与类型转换器 StringArrayConverter 关联。StringArrayConverter 是 .NET 2.0 中新增的类型转换器,用于将逗号分隔的字符串转换为字符串数组。

UI 类型编辑器

UI 类型编辑器提供定制用户界面,用于设计时表示和编辑属性值。这些编辑器可以是属性网格中的下拉列表,也可以是 Windows 界面对话框。

例如:

[EditorAttribute(typeof(ListItemsCollectionEditor), typeof(UITypeEditor))]public ListItemCollection Items{    // ...}

上述代码将控制器属性 Items 与编辑器 ListItemsCollectionEditor 关联。ListItemsCollectionEditor 提供对 ListItemCollection 类型的编辑支持。


添加设计时支持到项目

要为项目添加设计时支持,需要完成以下步骤:

  • 引用 .NET Framework 组建:在项目中添加引用 System.Design.dll。
  • 包含必要命名空间:
    • System.ComponentModel:用于使用现有设计时属性(如 EditorAttribute、DesignerAttribute 等)。
    • System.Web.UI.Design.WebControls:用于使用现有 Web 控件设计器(如 ButtonDesigner)。
    • System.ComponentModel.Design:用于使用现有编辑器(如 CollectionEditor)。
  • 创建自定义设计时属性:继承 Attribute 类,位于 System 命名空间。
  • 使用现有设计器、类型转换器和编辑器:在代码文件中包含相应的命名空间,例如 System.Web.UI.Design 和 System.Web.UI.Design.WebControls。
  • 通过以上步骤,可以为 Web 控件添加设计时支持,提升开发者在设计时的体验。

    转载地址:http://ybsfz.baihongyu.com/

    你可能感兴趣的文章
    python判断汉字数目
    查看>>
    python判断文件是空的,如果是空的,就删除
    查看>>
    python判断密码是否正确_python密码判断是否符合要求的方法
    查看>>
    python判断字符串包含中文_Python 判断字符串是否包含中文
    查看>>
    python删除第一行_Python 乱码指北:一行删掉根目录
    查看>>
    Python删除列表元素的三种方法
    查看>>
    python初步学习-python数据类型-集合(set)
    查看>>
    python列表生成字典_Python中将字典转换为列表的方法
    查看>>
    python列表对应元素合并为列表及判断一个列表是几维
    查看>>
    python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
    查看>>
    python列表前几个_python之列表
    查看>>
    python列表元组
    查看>>
    Python列表/元组/字典和集合使用
    查看>>
    python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
    查看>>
    python列表
    查看>>
    python列出当前目录、子目录和文件的脚本
    查看>>
    python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
    查看>>
    Python切片对象和__getitem__
    查看>>
    python+flask计算机毕业设计高校体育竞赛成绩管理系统的设计与实现(程序+开题+论文)
    查看>>