- ·上一篇文章:为ASP.NET控件添加设计时支持(6)
- ·下一篇文章:为ASP.NET控件添加设计时支持(4)
为ASP.NET控件添加设计时支持(5)
设计视图和元数据特性
Visual Studio .net 为使用拖放技术的动态控件设计和修改提供了丰富的支持,同时还提供了属性浏览器之类的工具以及相关的设计器(例如颜色选择器)。对这些工具的支持是通过一系列特性提供的,您可以将这些特性添加到您的控件中。这些特性用于告诉 Visual Studio IDE 是否在属性浏览器中显示控件的属性、属性所属的类型以及应使用哪个设计器设置属性的值。
对于将要提供设计时支持的控件版本,我们将制作一份控件文件 Blog.VB 的副本,并将其命名为 Blog_DT.vb,然后在副本文件上进行修改。这样可以生成该控件的设计时版本,并保留原始控件以便进行比较。
要支持在属性浏览器中编辑 AddRedirect 属性,应在属性进程之前添加以下特性,如以下代码片段所示:
<Browsable(True), _
Category("行为"), _
Description("成功提交新的 Blog 条目后, " & _
"应重定向到的 " & _
"页面的 URL。"), _
Editor("System.Web.UI.Design.UrlEditor", _
GetType(UITypeEditor))> _
Public Property AddRedirect() As String
'属性进程代码
End Property
这些特性声明允许在属性浏览器中显示属性、为属性设置所需的类别(当属性按类别排序时)、提供属性说明并告诉 Visual Studio .NET 使用 UrlEditor 类编辑属性的值,如图 4 所示。

图 4:设计视图中的属性支持
此处所述的特性语法适用于 Visual Basic .NET。在 Visual Basic .NET 中,特性通过以下语法进行声明:
<AttributeName(AttributeParams)>
在 C# 中,特性采用如下形式:
[AttributeName(AttributeParams)]
Visual Basic .NET 要求特性声明与其修改的成员位于同一行中,因此通常最好在特性后面跟一个 Visual Basic 行接续字符以提高可读性:
<AttributeName(AttributeParams)> _
Public Membername()
在 C# 和 Visual Basic 中,您可以在一对 [ ] 或 <> 括号中声明多个特性,特性之间用逗号分隔。而在 Visual Basic .NET 中,如果它们出现在不同的行中,则必须使用 Visual Basic 行接续符衔接特性,使其位于同一个语句中。
做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。
Visual Studio .net 为使用拖放技术的动态控件设计和修改提供了丰富的支持,同时还提供了属性浏览器之类的工具以及相关的设计器(例如颜色选择器)。对这些工具的支持是通过一系列特性提供的,您可以将这些特性添加到您的控件中。这些特性用于告诉 Visual Studio IDE 是否在属性浏览器中显示控件的属性、属性所属的类型以及应使用哪个设计器设置属性的值。
对于将要提供设计时支持的控件版本,我们将制作一份控件文件 Blog.VB 的副本,并将其命名为 Blog_DT.vb,然后在副本文件上进行修改。这样可以生成该控件的设计时版本,并保留原始控件以便进行比较。
要支持在属性浏览器中编辑 AddRedirect 属性,应在属性进程之前添加以下特性,如以下代码片段所示:
<Browsable(True), _
Category("行为"), _
Description("成功提交新的 Blog 条目后, " & _
"应重定向到的 " & _
"页面的 URL。"), _
Editor("System.Web.UI.Design.UrlEditor", _
GetType(UITypeEditor))> _
Public Property AddRedirect() As String
'属性进程代码
End Property
这些特性声明允许在属性浏览器中显示属性、为属性设置所需的类别(当属性按类别排序时)、提供属性说明并告诉 Visual Studio .NET 使用 UrlEditor 类编辑属性的值,如图 4 所示。

图 4:设计视图中的属性支持
此处所述的特性语法适用于 Visual Basic .NET。在 Visual Basic .NET 中,特性通过以下语法进行声明:
<AttributeName(AttributeParams)>
在 C# 中,特性采用如下形式:
[AttributeName(AttributeParams)]
Visual Basic .NET 要求特性声明与其修改的成员位于同一行中,因此通常最好在特性后面跟一个 Visual Basic 行接续字符以提高可读性:
<AttributeName(AttributeParams)> _
Public Membername()
在 C# 和 Visual Basic 中,您可以在一对 [ ] 或 <> 括号中声明多个特性,特性之间用逗号分隔。而在 Visual Basic .NET 中,如果它们出现在不同的行中,则必须使用 Visual Basic 行接续符衔接特性,使其位于同一个语句中。
做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。
