MDI: Ereignis, wenn ein Child geschlossen wird

Hallo,

ich habe lange im Internet gesucht, leider nichts passendes gefunden.
Ich habe eine MDI-Anwendung und deaktiviere einige Menüpunkte, wenn ein bestimmtes Child erzeugt wird. Nun möchte ich diese Menüpunkte wieder aktivieren, wenn der Child geschlossen wird. Die Menüleiste gehört zum Parent-Fenster. Ich hab gelesen, dass jedesmal ein MdiChildActivate-Ereignis aufgerufen wird, wenn ein Child geöffnet, bzw. geschlossen wird.
Meine Frage ist:
Wie kann ich feststellen, ob der Child geschlossen wird?

lhottmann

Hallo,
deaktiviere doch die Menüpunkte im MDI Child, dann kannst du sie auch wieder aktivieren bevor die Child Form geschlossen wird.

Gruss
Joey

Hallo Joey,
wie kann ich auf die Menüpunkte vom MDI Child aus zugreifen?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

falls es jemand mal interessiert, habe ich das mit Hilfe von Ereignissen gelöst. Ihr könnt das hier nachlesen: http://openbook.galileocomputing.de/visual_csharp/vi…

Meine Lösung:

Hauptformular:

 // Delegate deklarieren
 public delegate void CloseEventHandler(bool bActiv);

 public partial class frmMain : Form
 {
 ..........................

 // Aufrufen eines Childs, wenn Menüpunkt ausgewählt
 private void Menuepunkt1\_Click(object sender, EventArgs e)
 {
 fForm1 = new Form1();
 fForm1.MdiParent = this;
 fForm1.CloseEvent += new CloseEventHandler(EnableControls);
 fForm1.Show();
 }

 .............................................

 public void EnableControls(bool bEnable)
 {
 Menuepunkt1.Enabled = bEnable;
 Menuepunkt2.Enabled = bEnable;
 Menuepunkt3.Enabled = bEnable;
 Menuepunkt4.Enabled = bEnable;
 }

 }

Child-Formular:

 public partial class frmForm1 : Form
 {
 // Ereignis
 public event CloseEventHandler CloseEvent;

 .........................................

 private void frmForm1\_FormClosing(object sender, FormClosingEventArgs e)
 {
 CloseEvent(true);
 }

[MOD] - Pre-Tag eingefügt.

Hallo,

Hallo Joey,
wie kann ich auf die Menüpunkte vom MDI Child aus zugreifen?

((ToolStripMenuItem)this.MdiParent.MainMenuStrip.Items["MainMenuName"]).DropDown.Items["menuItemName"].Enabled = false;

Gruss
Joey

Hallo Joey,

danke für die Antwort. Da ich die Lösung dringend brauchte, hab ich es mit Events gelöst, aber beim nächsten Mal weiß ich wie das Ansprechen von Menüs aus dem Child-Formular geht. Ist ganz schön kompliziert.

Gruß, Lilia