Attributi per componenti in fase di progettazione

Se non si ha familiarità con l'applicazione di attributi volta a fornire metadati a Common Language Runtime, vedere Estensione di metadati mediante attributi. Poiché i componenti possono essere visualizzati in una finestra di progettazione, quale Visual Studio, è necessario che siano dotati di attributi che forniscano metadati agli strumenti della fase di progettazione. In questa sezione viene fornito un elenco di attributi della fase di progettazione di uso comune.

Attributi e supporto della finestra di progettazione

Gli attributi della fase di progettazione sono indispensabili per la corretta visualizzazione del controllo e dei relativi membri in fase di progettazione. Essi forniscono infatti importanti informazioni allo strumento di progettazione visiva.

Nel frammento di codice riportato di seguito, l'attributo CategoryAttribute permette al visualizzatore proprietà di visualizzare la proprietà TextAlignment nella categoria Alignment. L'attributo DescriptionAttribute permette al visualizzatore proprietà di fornire una breve descrizione della proprietà quando un utente vi fa clic.

[
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

Nota

In Visual C# e Visual Basic per fare riferimento a una classe Attribute denominata AttributeNameAttribute, è sufficiente specificare AttributeName nella sintassi.

Alcuni attributi della fase di progettazione vengono applicati a livello di classe. Un attributo DesignerAttribute viene applicato a livello di classe e indica alla finestra di progettazione quale classe utilizzare per visualizzare il controllo. I componenti sono associati a una finestra di progettazione predefinita (System.ComponentModel.Design.ComponentDesigner) e i controlli server ASP.NET e Windows Form sono associati alle proprie finestre di progettazione predefinite. Applicare DesignerAttribute solo se si definisce una finestra di progettazione personalizzata per il proprio componente o controllo.

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

Attributi comuni per proprietà ed eventi

Nella tabella che segue vengono elencati gli attributi solitamente applicati a proprietà ed eventi.

Attributo Si applica a Descrizione

BrowsableAttribute

Proprietà ed eventi

Specifica se la proprietà o l'evento deve essere visualizzato nel visualizzatore proprietà.

CategoryAttribute

Proprietà ed eventi

Specifica il nome della categoria in cui raggruppare la proprietà o l'evento. Quando si utilizzano le categorie, le proprietà e gli eventi del componente potranno essere visualizzati nel visualizzatore proprietà in raggruppamenti logici.

DescriptionAttribute

Proprietà ed eventi

Definisce un piccolo blocco di testo da visualizzare nella parte inferiore del visualizzatore proprietà quando l'utente seleziona la proprietà o l'evento.

BindableAttribute

Proprietà

Specifica se è possibile effettuare un'associazione alla proprietà.

DefaultPropertyAttribute

Proprietà

Questo attributo deve essere specificato prima della dichiarazione della classe.

Specifica la proprietà predefinita del componente. Questa proprietà viene automaticamente selezionata nel visualizzatore proprietà quando l'utente fa clic sul controllo.

DefaultValueAttribute

Proprietà

Imposta un valore predefinito semplice per la proprietà.

EditorAttribute

Proprietà

Specifica l'editor da utilizzare per modificare la proprietà in un ambiente di progettazione visiva.

LocalizableAttribute

Proprietà

Specifica che una proprietà può essere localizzata. Quando un utente sceglie di localizzare un form, le proprietà dotate di questo attributo vengono automaticamente inserite nel file di risorse.

DesignerSerializationVisibilityAttribute

Proprietà

Specifica se e come una proprietà presente nel visualizzatore proprietà deve persistere nel codice.

TypeConverterAttribute

Proprietà

Specifica il convertitore di tipo da utilizzare per convertire il tipo della proprietà in un diverso tipo di dati.

DefaultEventAttribute

Eventi

Questo attributo deve essere specificato prima della dichiarazione della classe.

Specifica l'evento predefinito del componente. Questo evento viene automaticamente selezionato nel visualizzatore proprietà quando l'utente fa clic sul componente.

A meno di indicazioni diverse, gli attributi per proprietà ed eventi vengono posti nel codice immediatamente prima della dichiarazione della proprietà o dell'evento, come illustrato nell'esempio che segue.

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

Per informazioni sugli attributi della fase di progettazione che associano finestre di progettazione a componenti e controlli, vedere Estensione del supporto in fase di progettazione.

Oltre a utilizzare le classi Attribute definite nella libreria di classi .NET Framework, è possibile definirne di proprie. Per informazioni dettagliate, fare riferimento alla documentazione del proprio linguaggio di programmazione o vedere Scrittura di attributi personalizzati.

Vedere anche

Attività

Procedura: applicare attributi nei controlli Windows Form

Concetti

Attributi e supporto in fase di progettazione
Attributi nei controlli Windows Form

Altre risorse

Estensione del supporto in fase di progettazione