SelectedGridItemChangedEventHandler
(1)
BindingFlags.InvokeMethod
(1)
BindingFlags.NonPublic
(1)
BindingFlags.GetField
(1)
BindingFlags.Instance
(1)
BindingFlags
(1)
EventArgs
(1)
InvokeMember
(1)

PropertyGrid Divider

Asked By Fritz Hilgemann
20-Nov-09 12:23 PM
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

Hallo Fritz,;-)Ein Beispiel:private void Form1_Load(object sender, EventArgs

Frank Dzaebel replied to Fritz Hilgemann
20-Nov-09 12:53 PM
Hallo Fritz,


;-)


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>
/// Das PropertyGrid, das modifizioert werden
soll.
/// Die Breite in Pixeln.
private void SpaltenSplitterBreite(PropertyGrid grid, int width)
{
object gridView = typeof(PropertyGrid).InvokeMember(
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

Hallo Frank,erstaunlich, wie "tief" man dafür reinlangen muß.

Fritz Hilgemann replied to Frank Dzaebel
23-Nov-09 12:22 PM
Hallo Frank,

erstaunlich, wie "tief" man dafür reinlangen muß. Ich verstehe nicht, warum
das nicht ein normales Property sein kann, braucht doch jeder -:).
Aber jedenfalls, dies funktioniert prima. Besten Dank,
Fritz
Post Question To EggHeadCafe