Doppelte Bestätigung beim beenden
Ich versuche es so zu machen, dass der Benutzer aufgefordert wird zu bestätigen, beenden von meinem Programm in c#, aber aus irgendeinem Grund, wenn Sie "ja" sagen, Sie würden gerne beenden, das Bestätigungs-Dialogfeld würde pop-up wieder. Ich kann nicht herausfinden, warum.
if (MessageBox.Show("Are you sure you want to exit?", "Confirm exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
e.Cancel = true;
}
else { Application.Exit(); }
- Wo ist dieser code ausgeführt wird?
- Ich gehe davon aus, dass Sie mit Formular-Ereignis Schließen. Ich glaube nicht, dass Sie brauchen, Anwendung.Exit()
- Ja, die form schließen, aber ich muss Anwendung.exit() da es ein weiteres Fenster öffnen, dass ich zu nah an der gleichen Zeit.
- In Ihrer Anwendung.Run(), die form, die Sie übergeben?
- StartupWindow(), und das Fenster, das geschlossen ist BackupWindow(). Ich brauche die beiden von Ihnen zu schließen, wenn eines von Ihnen geschlossen wird, so fand ich der einfachste Weg, dies zu tun ist, einfach zu bedienenden Anwendung.Exit().
- Ich sehe... dann Lambert haben die Antwort für Euch 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ah, haben Sie die
CloseReason
für dieFormClosing
Veranstaltung? Ich denke, Sie könnten das gleiche Ereignis aus zwei verschiedenen Gründen (obwohl ich nicht gerade erwarten, dass das passiert normalerweise); überprüfen Sie IhreFormClosingEventArgs
um zu sehen, was die Parameter sind.Verwenden Sie diese
Ah, ich habe herausgefunden, wie es zu lösen ist. Ich entfernt die Anwendung.Exit(); Veranstaltung von der FormClosing-Ereignis, und zog es in das FormClosed-Ereignis. Es funktioniert alles jetzt.