J'utilise PropertyGrid pour afficher les propriétés de mes objets. Toutefois, je permets également à l'utilisateur de créer ses propres propriétés et de définir des valeurs pour ces propriétés personnalisées. Chaque objet qui peut avoir ces propriétés personnalisées a une collection Dictionary, où la chaîne est une clé unique pour identifier la propriété, et Object est la valeur d'un type primitif (string, bool, int etc.)Réinitialisation des propriétés d'une grille de propriétés
I ' Nous avons créé un PropertyDescriptor personnalisé avec des méthodes get et set qui vérifient le dictionnaire pour une clé correspondante, ou créent/écrasent la valeur avec une clé correspondante.
Cependant, je souhaite également donner à l'utilisateur la possibilité d'effacer la propriété, et ainsi supprimer complètement son entrée du dictionnaire. Je mettrais le code à ceci dans la méthode de remplacement ResetValue de mon PropertyDescriptor personnalisé, cependant je ne vois aucun moyen à travers l'interface PropertyGrid pour l'envier? Il ne semble pas être une option de menu contextuel ou quelque chose d'évident comme ça.
Donc, si j'ai un PropertyDescriptor personnalisé avec une méthode ResetValue personnalisée, comment puis-je réellement évoquer cette méthode à partir d'un PropertyGrid?
Ahh oui, je viens de trouver ce post sur MSDN ainsi. On dirait que c'est la meilleure option. http://social.msdn.microsoft.com/Forums/fr-FR/winforms/thread/9dd7b9bf-4134-4105-aba8-65002fed04f2 –
Oui, l'appel à propGri.SelectedGridItem.Select() semble être le cas éclaircir certains problèmes de mise à jour aussi bien. –