MDI - Childwindows - Ereignisse auslösen

flasherMX

Mitglied
Hallo,

ich habe folgendes Situation:

1 MDI - Fenster
mehrere Childwindow.

Nun möchte ich durch einen Klick auf einen Button im MDI, dass ein Ereginis im Childwindow ausgeführt wird.

Problem: Ich würde dies gerne dynamisch halten, sprich, nicht bei jedem Button-Klick im MDI prüfen müssen (durch if-abfragen), welches Childwindow gerade aktiv ist und dieses dann gezielt ansteuern.

Bisherige Versuche:

Code:
Form frm = (Form)this.ActiveMdiChild; //Bekomme das Active Objekt richtig zurück
frm.MeineEigeneFunktion(); // GEHT NICHT, da er die Referenz zu dem Objekt erst im Programm dynamisch bekommt und daher die Methoden des Objektes noch nicht kennt...

Wie kann ich das umgehen? Bin auch gern für Alternativvorschläge offen...

mfg FlasherMX
 
Hi.

Wie wäre es, wenn du alle Forms die du da als MDI-Childs öffnest noch von einem Interface ableitest, welches diese eine spezielle Methode enthält die du aufrufen möchtest.

Wenn du dann aufs Child zugreifst, und die Methode aufrufen willst, behandelst das Form als Interface-Typ.

Code:
public interface IBlaBla { ... }
...
public class BlaForm : Form, IBlaBla { ... }
...
IBlabla frm = (IBlaBla)this.ActiveMdiChild;
frm.MeineEigeneFunktion();

MfG,
Alex
 
´Wunderbar,

klappt tip top.

Hab nun ein Interface welches auf Virtuelle MEthoden verweißt. Diese werden je nach MDI - Window verschieden überschrieben und lösen jeweils das ereignis aus, was ich haben möchte - Super :)

mfg FlasherMX
 
Zurück