UserControl或Control的Name属性

时间:2009-06-23 12:33:21

标签: visual-studio properties propertygrid

Control或UserControl的Name属性有什么特别之处,导致它在Visual Studio中的属性网格中显示为“(Name)”?

1 个答案:

答案 0 :(得分:4)

结帐this article about design-time attributes in .NET。具体来说,我认为您正在寻找Browsable属性,该属性在Visual Studio的设计时属性对话框中启用属性。

如果你有一个名为Name的属性,你可以这样声明:

[Browsable(true)]
public string Name { /*...*/ }

您可以设置更多属性,例如DescriptionDefaultValueCategory,如果您计划向其他开发者展示您的控件,这些属性会派上用场。

编辑:要获得所需效果,请同时使用BrowsableParenthesizePropertyName属性:

[Browsable(true)]
[ParenthesizePropertyName(true)]
public string Name { /*...*/ }

(感谢Ksempac对此的评论。)

由于你没有指定你是使用VB还是C#,这在VB中是一样的:

<Browsable(true)> _
<ParenthesizePropertyName(true)> _
Public Property Name(Value As String) As String
' ...
End Property

编辑2:

我认为你想知道为什么你想要首先用括号括起你的财产,或者对于一个财产的名称来说它周围有括号是什么意思。

您可以找到here的答案:

  

括号内的属性显示在窗口的顶部 - 如果列表按类别分组,则显示在其类别的顶部

基本上,如果一个属性很重要,你希望它出现在一个排序列表的顶部,所以用括号括起来表示这个。

相关问题