Laden...

ToolStripMenuItem Deaktivieren

Letzter Beitrag vor 16 Jahren 5 Posts 1.351 Views
ToolStripMenuItem Deaktivieren

Hi, ich versuche zu erreichen das das Häkchen bei meinem ToolStripMenuItem weggeht, wenn ich die Form schließe die es aufruft.

Habe also meine Methode Registriert;


this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.DebugWindow_Closing);

und sie wird auch aufgerufen wenn ich die Form schließe:


private void DebugWindow_Closing(object sender, FormClosingEventArgs e)
        {
            MainForm check = new MainForm();
            check.debugRawToolStripMenuItem.Checked = false;
        }

Aber leider bleibt der Haken immer noch stehen und ich muss erst nocheinmal auf das ToolStripMenuItem klicken.

Wo ist mein Fehler ?

Moment welche Form startet welche???

beschreib mal den ablauf im Detail....

Eventuell suchst du so etwas in dieser Art: Beim Öffnen einer neuen Form wird immer der Standardwert übernommen. Daher solltest du diesen :::

Wo ist mein Fehler ?

hier --> MainForm check = new MainForm();
Ich gehe davon aus, dass das ToolStripMenuItem auf der MainForm liegt? Dann brauchst du doch die MainForm nicht neu zu instanziieren! Somit reicht:

private void DebugWindow_Closing(object sender, FormClosingEventArgs e)
        {
             debugRawToolStripMenuItem.Checked = false;
        }

So etwas ist wirklich Quatsch:

MainForm check = new MainForm();  

In einem abhängigen Formular wird ein neues MainForm erzeugt, mit diesem etwas gemacht und am Ende der Methode wird dieses neue Formular wieder vergessen - wie soll dann im eigentlichen MainForm etwas passieren?

Ich glaube, auch raiguen hat nicht die richtige Erklärung (sofern ich ihn richtig verstehe). Du brauchst per **Delegate **eine Verbindung zwischen MainForm und DebugWindow - das Thema wird in [FAQ] Kommunikation von 2 Forms und den Querverweisen behandelt.

Jürgen