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 |
---|---|---|
Proprietà ed eventi |
Specifica se la proprietà o l'evento deve essere visualizzato nel visualizzatore proprietà. |
|
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. |
|
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. |
|
Proprietà |
Specifica se è possibile effettuare un'associazione alla proprietà. |
|
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. |
|
Proprietà |
Imposta un valore predefinito semplice per la proprietà. |
|
Proprietà |
Specifica l'editor da utilizzare per modificare la proprietà in un ambiente di progettazione visiva. |
|
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. |
|
Proprietà |
Specifica se e come una proprietà presente nel visualizzatore proprietà deve persistere nel codice. |
|
Proprietà |
Specifica il convertitore di tipo da utilizzare per convertire il tipo della proprietà in un diverso tipo di dati. |
|
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