Имя свойства UserControl или Control - PullRequest
1 голос
/ 23 июня 2009

Что особенного в свойстве Name элемента управления или UserControl, которое заставляет его отображаться как "(Name)" внутри сетки свойств в Visual Studio?

1 Ответ

4 голосов
/ 23 июня 2009

Ознакомьтесь с этой статьей об атрибутах времени разработки в .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:

Я думаю, вы задаетесь вопросом о том, почему вы хотите в первую очередь заключить в скобки круглые скобки, или, возможно, что означает, что имя свойства заключено в круглые скобки.

Вы можете найти ответ на этот вопрос здесь :

Свойства в скобках показаны в верхней части окна & mdash; или в верхней части их категории, если список сгруппирован по категориям

По сути, если свойство важно, вы хотите, чтобы оно отображалось в верхней части отсортированного списка, поэтому вы должны заключить его в скобки, чтобы указать это.

...