PropertyGrid Divider

20/11/2009 - 18:23 von Fritz Hilgemann | Report spam
Hallo,

ich habe wenig Hoffnung, nachdem ich online -noch- nichts dazu gefunden
habe:
Ein PropertyGrid zeigt in der Mitte einen Divider Strich zwischen Name und
Value.
Kann man den programmatisch auch verschieben? Es nervt, ihn jedesmal auf's
Neue hàndisch anzupassen.

Gruß, Fritz
 

Lesen sie die antworten

#1 Frank Dzaebel
20/11/2009 - 18:53 | Warnen spam
Hallo Fritz,

ich habe wenig Hoffnung, nachdem ich online -noch- nichts dazu
gefunden habe.



;-)

Ein PropertyGrid zeigt in der Mitte einen Divider Strich zwischen
Name und Value.
Kann man den programmatisch auch verschieben?



Ein Beispiel:

private void Form1_Load(object sender, EventArgs e)
{
propertyGrid1.SelectedObject = this;
SpaltenSplitterBreite(propertyGrid1, 40);
}

/// <summary>Setzen der Breite des linken Namensbereiches des
/// PropertyGrids. Günstig ist oft ein drittel der
Gesamtbreite.</summary>
/// <param name="grid">Das PropertyGrid, das modifizioert werden
soll.</param>
/// <param name="width">Die Breite in Pixeln.</param>
private void SpaltenSplitterBreite(PropertyGrid grid, int width)
{
object gridView = typeof(PropertyGrid).InvokeMember(
"gridView", BindingFlags.GetField | BindingFlags.NonPublic |
BindingFlags.Instance, null, grid, null);
gridView.GetType().InvokeMember("MoveSplitterTo",
BindingFlags.InvokeMethod | BindingFlags.NonPublic |
BindingFlags.Instance, null, gridView, new object[] { width });
//propertyGrid1.SelectedGridItemChanged += new
SelectedGridItemChangedEventHandler(
// propertyGrid1_SelectedGridItemChanged);
}

Natürlich nicht 100% sauber, da private Methoden benutzt werden.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen