Hallo Leute, Ich fragen bei einem VB.net Programm das Form Closing Event ab. Tritt es auf, so Frage ich über eine Msgbox ab, ob der Benutzer wirklich schliessen will. Danach schliesse ich die Anwendung über END, oder breche das Schliessen mittels e.cancel = true ab. So weit so gut. Fahre ich jetzt aber den PC herunter, so bleibt das Programm natürlich bei der MSGBOX hängen und "muss beendet werden". Wie kann ich dem aus dem Weg gehen?
Einfach das CloseReason-Element des Events abfragen: https://docs.microsoft.com/de-de/dotnet/api/system.windows.forms.closereason?view=net-5.0 In der Regel wirst du nur bei e.CloseReason = CloseReason.UserClosing abfragen wollen, ob der User wirklich schließen will. --- Je nach Anwendung kann btw. auch Sinn machen "Application Recovery and Restart" zu implementieren: https://docs.microsoft.com/en-us/windows/win32/recovery/using-application-recovery-and-restart Insbesondere kann man dann bei automatischen Windows-Updates den Anwendungszustand vorher sichern und die Anwendung wird nach Reboot durch Windows wieder gestartet und kann den Zustand wiederherstellen. (Nutze kein vb.net, aber das hier scheint in die Richtung zu gehen: https://www.vbforums.com/showthread.php?712961-ARR-Application-Recovery-and-Restart)
bluppdidupp schrieb: > In der Regel wirst du nur bei e.CloseReason = CloseReason.UserClosing > abfragen wollen, ob der User wirklich schließen will. Ganz so einfach ist das nicht, z.B. wenn Daten verändert wurden, aber nicht gespeichert, ist das kommentarlose Schliessen beim Herunterfahren auch keine sinnvolle Lösung. Prominentes beispiel ist der Editor. Eine allgemeingültige Lösung gibt es nicht. Georg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.