Używam PropertyGrid do wyświetlania właściwości z moich obiektów. Jednakże pozwalam również użytkownikowi na tworzenie własnych właściwości i ustawianie wartości dla tych niestandardowych właściwości. Każdy obiekt, który może mieć te niestandardowe właściwości, ma kolekcję Dictionary, gdzie ciąg jest unikalnym kluczem do identyfikacji właściwości, a Object jest wartością typu pierwotnego (string, bool, int itd.). ve stworzył niestandardowy PropertyDescriptor z metodami get i set, które sprawdzają słownik dla pasującego klucza, lub tworzą/zastępują wartość odpowiednio pasującym kluczem.Resetowanie właściwości z siatki właściwości
Jednak chcę również umożliwić użytkownikowi wyczyszczenie właściwości, a tym samym całkowite usunięcie jej wpisu ze słownika. Wstawiłbym kod do tego w metodzie zastępowania ResetValue mojego niestandardowego PropertyDescriptor, jednak nie widzę żadnego sposobu przez interfejs PropertyGrid, aby to zneutralizować? Nie wydaje się być opcją menu kontekstowego lub czymś tak oczywistym.
Więc jeśli mam niestandardowy PropertyDescriptor z niestandardową metodą ResetValue, w jaki sposób faktycznie wywołać tę metodę z PropertyGrid?
Ahh tak właśnie znalazłem ten post MSDN, jak również. Wydaje się, że to najlepsza opcja. http://social.msdn.microsoft.com/Forums/pl-PL/winforms/thread/9dd7b9bf-4134-4105-aba8-65002fed04f2 –
Tak, wywołanie propGri.SelectedGridItem.Select() wygląda na to, że usuń również niektóre problemy z aktualizacją. –