Event auf Windows Form aus UserControl aufrufen

07/02/2008 - 16:44 von Lars Eggert | Report spam
Hallöchen,

irgendwie stehe ich auf dem Schlauch.
Ich denke das Problem làsst sich irgendwie in Richtung Event Bubbeling oder
Delegation lösen, stolpere aber dauernd über den Aufruf des UserControls.

Folgende Situation.

Eine Windows Form mit einem horizontalen Split Container.
Im Oberen Container ist ein Usercontrol welches diverse Headerfunktionen
erfüllt.
Per Setter (über ein Event der Form) wird hier u.a. ein Datum gesetzt oder
eine Überschrift geàndert.

Im unteren Container ist ein UserControl welches Daten erfasst.
Auf Knopfdruck in diesem Usercontrol werden die Daten weggeschrieben und ein
neues Usercontrol in dem Container geöffnet.
Und zwar per
Control container = this.Parent;
... remove(this);
add(neuesUserControl);

Nun sind dem neuen UserControl die Events der Form ja praktisch unbekannt
und ich komme nicht drauf, wie ich aus diesem Control ein Event der Form
feuern kann.
Die Variablen bekomme ich rüber indem ich die auf der Form als Static
deklariere.
Die Methode zum Schreiben der neuen Daten (ChangeHeader) ist aber nicht
Static und somit für das neue UserControl nicht sichtbar.
Wàre Sie es .. dann könnte ich ja wieder den "Header" nicht ansprechen.

Stellt sich die Frage .. wie bekomme die Methode "ChangeHeader" der Form aus
dem UserControl getriggert.

Danke schon mal für jedwede Hilfe

Gruß

Lars
 

Lesen sie die antworten

#1 Frank Dzaebel
07/02/2008 - 17:12 | Warnen spam
Hallo Lars,

Stellt sich die Frage .. wie bekomme die Methode "ChangeHeader" der Form aus
dem UserControl getriggert.



Wenn die Methode public ist (ist nicht ganz klar, ob das der Fall
ist), dann:

this.FindForm().ChangeHeader(...);

[Control.FindForm-Methode (System.Windows.Forms)]
http://msdn2.microsoft.com/de-de/li...dform.aspx


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

Ähnliche fragen