C#-MessageBox wird immer doppelt angezeigt?
Hierbei wird die Schließen-MsgBox immer doppelt angezeigt:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show("Wollen Sie das Programm wirklich beenden?", "Schließen bestätigen", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
Application.Exit();
}
else if (result == DialogResult.No)
{
e.Cancel = true;
}
Das sollte aber nicht so sein.
3 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, programmieren, C Sharp
Folglich wird das Event zweimal ausgelöst. Debug deine Anwendung einmal und finde heraus, was nach der ersten Anzeige passiert.
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer
Durchsuch mal das ganze Projekt nach
+= Form1_FormClosing
(d. h. wo diese Methode einem Event als Handler hinzugefügt wird).
Ob da diese Methode dem Ereignis Form1.Closing zweimal zugewiesen wird?
Woher ich das weiß:Berufserfahrung – Software-Entwickler
Es hat so geklappt:
Application.ExitThread();