Dynamiquement valeurs pour une énumération propriété .Net
-
21-08-2019 - |
Question
Vous savez comment une des listes de propriétés ImageList de contrôle TreeView tous ImageLists sur un formulaire? J'ai besoin quelque chose de similaire, mais avec une liste de chaînes. Il est comme une énumération, mais défini lors de l'exécution, avec l'objet qui expose la propriété dans un PropertyGrid.
Alors, avec une liste de chaînes comme { « foo », « bar », « grill »} la propriété devrait énumérer ceux mais si cette liste de chaînes est modifié (par exemple, ajouter un élément « barbecue »), la propriété devrait enum { "foo", "bar", "grill", "barbecue" } au lieu.
La solution
Si c'est juste une liste de chaînes dont vous avez besoin, jetez un oeil à écrire votre propre TypeConverter
. Vous aurez besoin de remplacer la méthode GetStandardValues
.
Autres conseils
de href="http://www.codeproject.com/KB/cpp/dropdownproperties.aspx" sur CodeProject explique comment écrire une coutume TypeConverter
ou UITypeEditor
.