2010-12-09 81 views
1

J'ai plusieurs classes qui héritent des contrôles d'interface utilisateur WinForm. Ils ont été étendus avec des propriétés supplémentaires que j'ai besoin d'être modifiables dans un contrôle de grille de propriétés. Le problème est que l'affectation d'une instance de cet objet à la grille de propriété affiche également les propriétés de l'interface utilisateur, comme Color, Text, Dock, etc. Quel serait le meilleur moyen d'isoler les propriétés spécifiques pour que ces propriétés n'apparaissent pas?Comment isoler un ensemble de propriétés à utiliser avec un PropertyGrid?

Merci pour vos conseils,

Répondre

2

Vous pouvez remplacer les propriétés et et ajouter [Browsable(false)]. Autres options:

Le BrowsableAttributes serait mon premier stab.

+0

Merci pour la suggestion !; Je vais essayer ça demain et revenir vers vous. '.BrowsableAttributes' ressemble exactement à ce que je voulais. –

1

Vous pouvez fournir votre propre TypeDescriptor pour vos classes qui exposent uniquement les propriétés que vous voulez modifiable. Sinon, si c'est beaucoup trop de travail ou si la grille de propriétés est une dans votre propre application, plutôt que celle du concepteur de WinForms, vous pouvez créer vos propres classes de proxy qui exposent uniquement les propriétés supplémentaires.

+0

Nous vous remercions de vos suggestions! –