Laden...

Mutterfenster soll Nachricht an Kindfenster schicken und Kindfenster soll darauf reagsieren

Erstellt von Martinar vor 12 Jahren Letzter Beitrag vor 12 Jahren 873 Views
Thema geschlossen
M
Martinar Themenstarter:in
55 Beiträge seit 2010
vor 12 Jahren
Mutterfenster soll Nachricht an Kindfenster schicken und Kindfenster soll darauf reagsieren

Hallo Leute,

ich habe eine Basisklasse, in der ein Event ist.

Durch die Vererbung in das Kindfenster kann man das Event über ein ButtonClick abfeuern.

Nun würde ich gerne aus der Basisklasse heraus in dem aufgerufenden Event ein neues Event abfeuern, worauf die Kindklasse reagiert => Eine Art Kommunikation zwischen Mutter u. Kindfenster.

Der eine Teil funktioniert, dass das geerbte Event abgefeuert wird. Nur weiß ich nun nicht wie die Basisklasse erkennen kann, dass es ein Kindfenster von sich hat.

Also die Kommunikation von Mutter an Kind geht nicht.

Ich hoffe Ihr könnt mir helfen...

So sieht mein bisheriger Code aus

Basisklasse:

public event EventHandler MyEvent;

        public cForm()
        {
            this.InitializeComponent();
            this.MyEvent += myObject_MyEvent;
        }

        private void OnMyEvent(EventArgs e)
        {
            EventHandler myEvent = MyEvent;
            if (myEvent != null)
            {
                myEvent(this, e);
            }

        }
        private void myObject_MyEvent(Object objSender, EventArgs e)
        {
            MessageBox.Show("Insert");
!!!!!!!!!!!!!!!!!!!!!!Hier soll die Nachricht an die Kindklasse gestartet werden!!!!!!!!!!!!!!!!!!!
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OnMyEvent(EventArgs.Empty);
        }
223 Beiträge seit 2009
vor 12 Jahren

Das wurde auch schonmal behandelt...

Kuckst du hier:

Kommunikation zwischen zwei Forms

Grüße Pico

M
Martinar Themenstarter:in
55 Beiträge seit 2010
vor 12 Jahren

Ja, auf der Seite war ich schon.
Aber da blicke ich leider nicht durch.

Könnt ihr mir evtl. bei meinem Beispiel helfen??

Gruß
MartinaR

5.742 Beiträge seit 2007
vor 12 Jahren

Hallo Martinar,

du meinst mit "Kindfenster" sicherlich ein zweites Fenster, das du ebenfalls via Show anzeigst, oder?

Ja, auf der Seite war ich schon. Aber da blicke ich leider nicht durch.

Wirf lieber einen Blick auf die FAQ: [FAQ] Kommunikation von 2 Forms - dort, und in [FAQ] Eigenen Event definieren / Information zu Events steht genau beschrieben, wie das mit den Events geht.

Ansonsten - wenn es tatsächlich um Vererbung geht, sollte die Kommunikation über virtuelle bzw. abstrakte Methoden erfolgen.
Die Oberklasse stellt eine virtuelle Methode bereit (und ruft sie entsprechend auf) und die Unterklassen überschreiben diese dann.

Hinweis von herbivore vor 12 Jahren

Könnt ihr mir evtl. bei meinem Beispiel helfen??

Nein, die Umsetzung auf dein konkretes Beispiel ist deine Aufgabe. Und sie ist einfach lösbar. Wir setzen als bekannt voraus, wie man ein EventHandler registriert. Dass sich dabei das Objekt, das den Event auslöst von dem Objekt unterscheidet, das den Event behandeln soll, ist ja nichts ungewöhnliches, sondern der Normalfall.

Thema geschlossen