Атрибуты времени разработки для компонентов
Чтобы получить сведения о применении атрибутов для предоставления метаданных общеязыковой среде выполнения, см. раздел Расширение метаданных с помощью атрибутов.Поскольку компоненты могут отображаться в конструкторе, например в Visual Studio, для них требуются атрибуты, предоставляющие метаданные средствам времени разработки.В этом разделе приводится описание широко используемых атрибутов времени разработки.
Атрибуты и поддержка конструктора
Атрибуты времени разработки очень важны для правильного отображения элементов управления и их членов во время разработки, поскольку они предоставляют полезные сведения средству визуального проектирования.
В следующем фрагменте кода атрибут CategoryAttribute включает обозреватель свойств для отображения свойства TextAlignment в категории "Alignment".Атрибут DescriptionAttribute позволяет обозревателю свойств выдать краткое описание свойства при щелчке этого свойства.
[
Category("Alignment"),
Description("Specifies the alignment of text.")
]
public ContentAlignment TextAlignment { //... }
<Category("Alignment"), _
Description("Specifies the alignment of text.")> _
Public Property _
TextAlignment As ContentAlignment
' ...
End Property
Примечание |
---|
В средах Visual C# и Visual Basic на класс атрибута с именем ИмяАтрибутаAttribute в синтаксисе атрибутов можно ссылаться просто по имени ИмяАтрибута. |
Некоторые атрибуты времени разработки применяются на уровне класса.Атрибут DesignerAttribute применяется на уровне класса и уведомляет конструктор форм, какой класс конструктора должен быть использован для отображения элемента управления.Компоненты связаны с конструктором по умолчанию (System.ComponentModel.Design.ComponentDesigner), а элементы управления Windows Forms и серверные элементы управления ASP.NET связаны с их собственными конструкторами, используемыми по умолчанию.Атрибут DesignerAttribute следует применять только в случае определения пользовательского конструктора для компонента или элемента управления.
// Associates the designer class SimpleControl.Design.SimpleDesigner
// with Simple.
[ Designer(typeof(SimpleControl.Design.SimpleDesigner))]
public class Simple : WebControl { //... }
' Associates the designer class SimpleControl.Design.SimpleDesigner
' with Simple.
<Designer(GetType(SimpleControl.Design.SimpleDesigner))> _
Public Class Simple
Inherits WebControl
' ...
End Class
Общие атрибуты для свойств и событий
В следующей таблице перечислены атрибуты, которые обычно применяются к свойствам и событиям.
Атрибут |
Применение |
Описание |
---|---|---|
Свойства и события |
Указывает, следует ли отображать свойство или событие в обозревателе свойств. |
|
Свойства и события |
Указывает имя категории, в которую следует включить свойство или событие.При использовании категорий свойства и события компонента могут отображаться в обозревателе свойств логически сгруппированными. |
|
Свойства и события |
Определяет небольшой фрагмент текста для отображения в нижней части обозревателя свойств, когда пользователь выбирает свойство или событие. |
|
Свойства |
Указывает, может ли быть выполнена привязка к свойству. |
|
Свойства (Этот атрибут следует вставлять перед объявлением класса.) |
Задает для компонента свойство по умолчанию.Это свойство будет выбрано в обозревателе свойств, когда пользователь щелкнет элемент управления. |
|
Свойства |
Устанавливает простое значение по умолчанию для свойства. |
|
Свойства |
Задает редактор, который будет использован для редактирования (изменения) свойства в визуальном конструкторе. |
|
Свойства |
Указывает, что свойство может быть локализовано.Любые свойства, имеющие этот атрибут, автоматически сохраняются в ресурсном файле, когда пользователь решает локализовать форму. |
|
Свойства |
Указывает, должно ли сохраняться в коде свойство, отображаемое в обозревателе свойств (и каким образом оно должно сохраняться). |
|
Свойства |
Задает преобразователь типа, используемый для преобразования типа свойства в другой тип данных. |
|
События (Этот атрибут следует вставлять перед объявлением класса.) |
Задает для компонента событие по умолчанию.Это событие будет выбрано в обозревателе свойств, когда пользователь щелкнет компонент. |
Если не указано обратное, атрибуты для свойств и событий размещаются в коде непосредственно перед объявлением свойства или события, как показано в следующем примере.
// To apply CategoryAttribute to the BorderColor
// property, place it immediately before the declaration
// of the BorderColor property.
[Category("Appearance")]
public Color BorderColor;
// To apply DescriptionAttribute to the Click event,
// place it immediately before the declaration
// of the Click event.
[Description("The Click event of the button")]
public event EventHandler Click;
' To apply CategoryAttribute to the BorderColor
' property, place it before the property declaration.
<Category("Appearance")> Public BorderColor As Color
' To apply DescriptionAttribute to the Click event,
' place it before the event declaration.
<Description("The Click event of the button")> Public Event Click
Сведения об атрибутах времени разработки, которые связывают конструкторы с компонентами и элементами управления, см. в разделе Расширение поддержки времени разработки.
Кроме использования классов атрибутов, определенных в библиотеке классов .NET Framework, можно определять собственные классы атрибутов.Подробные сведения см. в документации по используемому языку программирования или в разделе Написание настраиваемых атрибутов.
См. также
Задачи
Практическое руководство. Применение атрибутов к элементам управления Windows Forms
Основные понятия
Атрибуты и поддержка во время разработки
Атрибуты в элементах управления Windows Forms