Control或UserControl的Name属性有什么特别之处,导致它在Visual Studio中的属性网格中显示为“(Name)
”?
答案 0 :(得分:4)
结帐this article about design-time attributes in .NET。具体来说,我认为您正在寻找Browsable
属性,该属性在Visual Studio的设计时属性对话框中启用属性。
如果你有一个名为Name
的属性,你可以这样声明:
[Browsable(true)]
public string Name { /*...*/ }
您可以设置更多属性,例如Description
,DefaultValue
和Category
,如果您计划向其他开发者展示您的控件,这些属性会派上用场。
编辑:要获得所需效果,请同时使用Browsable
和ParenthesizePropertyName
属性:
[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的答案:
括号内的属性显示在窗口的顶部 - 如果列表按类别分组,则显示在其类别的顶部
基本上,如果一个属性很重要,你希望它出现在一个排序列表的顶部,所以用括号括起来表示这个。