Wie enge form in C#

Ok, also eine Windows Forms-Klasse, WindowSettings, und die form hat einen "Abbrechen"-button. Wenn der Benutzer auf die Schaltfläche klickt, wird der dialog DialogSettingsCancel pop-up und fragt den Benutzer, ob er sicher ist, will er die Aktion durchführen. Der dialog hat 2 Tasten, eine "ja"-button-und einen "Nein"-button. Wenn der Benutzer klickt auf den "ja"-button, ich will beide DialogSettingsCancel und WindowSettings geschlossen werden.

Meine button_Click-Ereignishandler in DialogSettingsCancel:

private void button1_Click(object sender, EventArgs e)
{
    //Code to trigger when the "Yes"-button is pressed.
    WindowSettings settings = new WindowSettings();
    this.Close();
    settings.Close();
}

Wenn ich meine Anwendung, und gehen Sie zu den Einstellungen-Formular, und klicken Sie auf den "Abbrechen"-Schaltfläche, und klicken Sie dann auf den "ja"-button, nur DialogSettingsCancel schließt, ohne schließen WindowSettings.

Nicht warum es funktioniert?

Ich habe auch versucht, die änderung

this.Close();
settings.Close();

zu

settings.Close();
this.Close();

Aber immer noch das gleiche Ergebnis.

  • Ihre "Einstellungen" werden nie gezeigt, um geschlossen in den ersten Platz, Sie sind wahrscheinlich auf der Suche für einige andere Instanz
  • Dies geschieht, weil Sie die Schließung der Window dass ist der Umgang mit dem click-Ereignis vor dem schließen des anderen Window. Dies ist nicht eine Form-Klasse dies ist eine Window Klasse riesigen Unterschied. Außerdem werden die Einstellungen nicht gleich auf die Instanz von WindowSettings Ihr gleich eine ganz andere Instanz. Verwenden Sie den VS-debugger.
InformationsquelleAutor osvein | 2013-01-17
Schreibe einen Kommentar