Wie kann ich die Spaltenbreite einer Eigenschaft Grid?
Ich bin mithilfe von property-grid in meiner Anwendung, um den Namen und Wert der Eigenschaften eines Objekts.
Standardmäßig die Breite der Spalten (name und Eigenschaft) sind bei einem Verhältnis von 50:50.
und wir haben die Möglichkeit, Schiebe die splitter um dies zu ändern Breite.
Ich würde gerne wissen, wie diese Breite kann angepasst werden, programmgesteuert, so dass es kann eingestellt werden, zu sagen, im 25:75.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als in diese Antwort erwähnt wird :
Es ist keine Eigenschaft zu tun, und Sie haben, um hack die Steuerung. zuerst fügen Sie diesen code :
und rufen Sie es mit der Größe, was Sie wollen . wie diese:
labelRatio
gearbeitetFand ich, dass die Lösung von hamed funktioniert nicht zuverlässig. Ich habe es gelöst, indem Sie programmgesteuert die Simulation der Benutzer durch ziehen die Spalte splitter. Der folgende code verwendet reflektion, um dies zu tun:
Version für Framework 4.0 (musste ich BaseType). Methode ist in der Klasse geerbt von "PropertyGrid" - Steuerelement:
Hatte ich Erfolg mit der open-source-extended "PropertyGrid" - Steuerelement finden Sie in http://www.codeproject.com/Articles/13630/Add-Custom-Properties-to-a-PropertyGrid. Es hat zwei Methoden, die Sie interessiert wäre:
Könnte man berechnen 25% des
Width
des "PropertyGrid" - Steuerelement, und legenMoveSplitterTo
mit ihm.Ich benutze eigentlich
AutoSizeProperties
obwohl, wie es bewegt sich automatisch den splitter zu snuggly passen Sie die Etiketten. Beachten Sie, dass Sie benötigen, umAutoSizeProperties
nachdem Sie denSelectedObject
.können Sie Smart PropertyGrid.Net anstelle von "propertygrid" - Steuerelement, und ändern Sie das Verhältnis mit diesem code: