2009-03-05 12 views

risposta

15

È possibile sovrascriverli (se possono essere sostituiti) e applicare l'attributo Browsable, specificando false oppure creare una nuova versione della proprietà e applicare lo stesso attributo (questo secondo approccio non sembra sempre funzionare così YMMV).

Inoltre, è possibile utilizzare un modello personalizzato TypeConverter per il tipo e sovrascrivere il metodo GetProperties per controllare quali proprietà vengono visualizzate per il proprio tipo. Questo approccio è più robusto rispetto alle classi base sottostanti, ma può richiedere più impegno, a seconda di ciò che si desidera ottenere.

Uso spesso una combinazione dell'attributo Browsable e un numero personalizzato TypeConverter.

+0

Grazie, Si è occupato di Browsable per me. – Krakerjak

+0

Nessun problema. Sempre felice di aiutare. –

+1

+1 per il TypeConverter –

6

Ignorare la proprietà e aggiungere [Browsable(false)].

Si potrebbe anche voler aggiungere [EditorBrowsable(EditorBrowsableState.Never)], che nasconderà la proprietà in IntelliSense nell'editor di codice. Si noti che sarà nascosto solo in una soluzione separata dal controllo originale.

4

utilizzando System.ComponentModel;

[Browsable(false), DesignerSerializationVisibility(
          DesignerSerializationVisibility.Hidden)] 
public int MyHiddenProp {get; set; } 

ha lavorato per me in quel modo, che non apparirebbe in designer-proprietà e la propertiy non verranno inizializzate dal progettista, che ignorare la mia inizializzazione ....

+0

ha funzionato anche per me +1 – Kevin

Problemi correlati