2010-10-31 11 views
7

Sto creando un controllo utente personalizzato e mi chiedo come si imposta un valore iniziale per una proprietà durante la fase di progettazione? Ho una proprietà denominata Allineamento che ha 4 valori enumerati TopRight, TopLeft, BottomRight e BottomLeft. Quindi, quando un utente rilascia il controllo utente su un modulo, voglio che il valore iniziale della proprietà sia sempre BottomRight. Come posso fare questo?Come impostare un valore iniziale per una proprietà di controllo utente?

risposta

7

È necessario impostare il valore iniziale nel costruttore del controllo utente o quando si dichiara la variabile di supporto per la proprietà.

L'attributo DefaultValue non imposta il valore iniziale. Come indicato nello documentation, è necessario impostare il valore iniziale nel codice; il progettista utilizzerà l'attributo DefaultValue per determinare se generare codice per impostare la proprietà.

+0

Grazie, l'ha fatto. –

0

Nel codice di controllo dell'utente dietro l'inizializzazione della proprietà con il valore BottomRight.

3

Imposta attributi per la proprietà

[DefaultValue(typeof(AlignmentType), "BottomRight")] 
public AlignmentType Alignment { 

} 

Edit: In realtà, quanto sopra aiuta solo il progettista determinare se ha bisogno di specificare altrimenti la proprietà nel codice di inizializzazione.

Con questo in mente, si dovrebbe semplicemente utilizzare il costruttore per impostare il valore predefinito o impostare il valore predefinito con la dichiarazione della variabile.

+3

L'attributo 'DefaultValue' non imposta il valore iniziale. –

+0

In realtà, sei corretto. Apparentemente determina se il progettista deve specificare il valore se è qualcosa di diverso – pinkfloydx33

Problemi correlati