Attributs en mode design pour les composants

Si vous n'êtes pas habitué à appliquer des attributs pour fournir des métadonnées au Common Language Runtime, consultez Extension des métadonnées à l'aide des attributs. Comme les composants peuvent être affichés dans un concepteur, tel que Visual Studio, ils nécessitent des attributs qui fournissent des métadonnées aux outils en mode design. Cette section décrit et fournit une liste des attributs en mode design fréquemment utilisés.

Attributs et prise en charge du concepteur

Les attributs en mode design sont essentiels pour afficher correctement votre contrôle et ses membres au moment du design, car ils fournissent de précieuses informations à un outil de design visuel.

Dans le fragment de code suivant, l'attribut CategoryAttribute active l'Explorateur de propriétés pour afficher la propriété TextAlignment dans la catégorie Alignment. L'attribut DescriptionAttribute autorise l'Explorateur de propriétés à donner une brève description de la propriété lorsqu'un utilisateur clique dessus.

[
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

Notes

Dans Visual C# et Visual Basic, une classe d'attributs nommée AttributeNameAttribute peut simplement être référencée sous la forme AttributeName dans la syntaxe de l'attribut.

Certains attributs en mode design sont appliqués au niveau de la classe. Un attribut DesignerAttribute est appliqué au niveau de la classe et indique au concepteur de formulaires la classe de concepteur à utiliser pour afficher le contrôle. Les composants sont associés à un concepteur par défaut (System.ComponentModel.Design.ComponentDesigner) et Windows Forms et les contrôles serveur ASP.NET sont associés à leurs propres concepteurs par défaut. Appliquez DesignerAttribute uniquement si vous définissez un concepteur personnalisé pour votre composant ou votre contrôle.

// 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

Attributs communs pour les propriétés et les événements

Le tableau ci-après répertorie les attributs qui sont fréquemment appliqués aux propriétés et aux événements.

Attribut

Appliqué aux

Description

BrowsableAttribute

Propriétés et événements

Spécifie si une propriété ou un événement doivent être affichés dans l'Explorateur de propriétés.

CategoryAttribute

Propriétés et événements

Spécifie le nom de la catégorie dans laquelle regrouper une propriété ou un événement. Lorsque des catégories sont utilisées, les propriétés et les événements du composant peuvent être affichés dans des regroupements logiques dans l'Explorateur de propriétés.

DescriptionAttribute

Propriétés et événements

Définit un petit bloc de texte à afficher en bas de l'Explorateur de propriétés lorsque l'utilisateur sélectionne une propriété ou un événement.

BindableAttribute

Propriétés

Spécifie si une propriété est intéressante à lier.

DefaultPropertyAttribute

Propriétés

Insérez cet attribut avant la déclaration class.

Spécifie la propriété par défaut pour le composant. Cette propriété est sélectionnée dans l'Explorateur de propriétés lorsqu'un utilisateur clique sur le contrôle.

DefaultValueAttribute

Propriétés

Affecte une valeur par défaut simple à une propriété.

EditorAttribute

Propriétés

Spécifie l'éditeur à utiliser pour éditer (modifier) une propriété dans un concepteur visuel.

LocalizableAttribute

Propriétés

Spécifie qu'une propriété peut être localisée. Toutes les propriétés qui possèdent cet attribut sont automatiquement rendues persistantes dans le fichier de ressources lorsqu'un utilisateur choisit de localiser un formulaire.

DesignerSerializationVisibilityAttribute

Propriétés

Spécifie si (et comment) une propriété affichée dans l'Explorateur de propriétés doit être persistante dans le code.

TypeConverterAttribute

Propriétés

Spécifie le convertisseur de type à utiliser pour convertir le type de la propriété dans un autre type de donnée.

DefaultEventAttribute

Événements

Insérez cet attribut avant la déclaration class.

Spécifie l'événement par défaut pour le composant. Il s'agit de l'événement qui est sélectionné dans l'Explorateur de propriétés lorsqu'un utilisateur clique sur le composant.

Sauf indication contraire, les attributs pour les propriétés et les événements sont placés dans le code immédiatement avant la déclaration de propriété ou event, comme le montre l'exemple suivant.

// 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

Pour plus d'informations sur les attributs au moment du design qui associent des concepteurs aux composants et aux contrôles, consultez Extension de la prise en charge au moment du design.

Outre l'utilisation des classes d'attribut définies dans la bibliothèque de classes .NET Framework, vous pouvez définir vos propres classes d'attribut. Pour plus d'informations, consultez la documentation sur votre langage de programmation ou Écriture des attributs personnalisés.

Voir aussi

Tâches

Comment : appliquer des attributs dans les contrôles Windows Forms

Concepts

Attributs et prise en charge au moment du design

Attributs dans les contrôles Windows Forms

Autres ressources

Extension de la prise en charge au moment du design