Hier ist ein Codeabschnitt, der alle GridItem-Objekte eines Eigenschaftenrasters abruft:
%Vor%Natürlich, da dies ein undokumentiertes privates Feld des Property Grids verwendet, wird nicht garantiert, dass es in der Zukunft funktioniert: -)
Sobald Sie alle GridItems haben, können Sie sie mit der Eigenschaft GridItem.GridItemType filtern.
Wenn Sie nur die Eigenschaften des Objekts benötigen, können Sie diese über Reflection erhalten:
%Vor% Wenn Sie einige der Eigenschaften mit BrowsableAttribute(false)
ausgeblendet haben, können Sie GetProperties(Type, Attribute[])
um diese herauszufiltern.
Ich kenne keine Methode, die eine GridItem-Auflistung zurückgibt.
Aktualisieren
Natürlich können Sie auch die Zeichenfolge, die das PropertyGrid für die Labels verwendet, über Reflection abrufen.
Wenn Sie die Eigenschaft mit DisplayNameAttribute("ABC")
dekoriert haben, sollten Sie in der Lage sein, über GetCustomAttributes(Type, Boolean)
. Ansonsten verwende einfach den Namen des PropertyDescriptor.
Überprüfen Sie auch die Lösung mithilfe der Parent-Eigenschaft @ C # Auswählen der ersten Zeile in KategorisiertAlphabetisch sortiert PropertyGrid
Tags und Links .net c# winforms propertygrid