PropertyGrid-DatenBindung

16/03/2008 - 19:38 von Florian Rubink | Report spam
Hallo NG

Ich bin dabei einen Skin Editor zu schreiben..
Und habe mal eine frage zum PropertyGrid

kurz der aufbau erklàrt:
es gibt eine SkinKlasse die verschiedene seiten enthàlt
auf den seiten sind unterschiedliche Elemente (Botton,Label..)
Wenn ich jetzt aus der Liste eine Seite ausgewàhlt wird
sende ich der form ,die das anzeigt. die Seite der SkinKlasse

das PropertyGrid bekommt das ausgewàhlte Element durch
PropertyGrid.SelectedObject = Element

In der Form Wo das bild angezeigt wird
durchlaufe ich die Elemente der Seite mit for..each
und erstelle neue Pictureboxen

Dim pb As New PictureBox
pb.Image = Element.Picture
pb.Location = Element.Position
pb.Parent = HauptPicture

pb.DataBindings.Add("Image", Element, "Picture")
pb.DataBindings.Add("Location", Element, "Position")

sowie handler für Mouse-Ereignisse zum bewegen

Wenn ich im PropertyGrid jetzt die Position àndere klappt das wunderbar.
Das àndern des Bildes im PropertyGrid wirkt sich nicht auf die PictureBox
aus =(

wenn ich die PictureBox jetzt mit der maus verschiebe aktualisiert sich das
PropertyGrid nicht =(
und die Klasse auch nicht =(

Dann hab ich im MouseUp die WriteValue eingefügt
pb.DataBindings.Item("Location").WriteValue()

Jetzt wird es von der klasse übernommen. Nur im PropertyGrid erst wenn man
es anklickt
Muss ich dem jetzt noch ein Event schicken das es sich aktualisieren soll?
Oder ist das ganze zusammenspiel falsch und es giebt eine andere lösung?
 

Lesen sie die antworten

#1 Florian Rubink
17/03/2008 - 12:47 | Warnen spam
Moin
Ich hab mal die entscheidenen zeilen Code zusammengefasst.
http://home.foni.net/~prophet/testapp.zip

Eigentlich geht es um die vorgehnsweise
wie mann es am besten anstellt das verschiedene Steuerelemente
wie hier die Picturebox und das PropertyGrid von der zu bearbeitenden Klasse
abhàngig sind.

ich wollte halt ohne viele events auskommen..(deshalb mit dem databinding)
oder ist das über events besser?
also aus der Property eigenschaft im Element ein raiseEvent das sich was
geàndert hat?

Danke für die Aufmerksamkeit

Ähnliche fragen