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 ?
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