Benutzer mit den meisten Antworten
Ereignisse beim Programm beenden

Frage
-
Ich habe in VB2010 eine Anwendung geschrieben. Beim Beenden mit X-Button wird die aktuelle Position und Größe des Fensters in eine ini-Datei gespeichert und beim nächsten Start wieder hergestellt. Funktioniert ganz gut, mein Problem ist jedoch dieses Verhalten soll auch funktionieren wenn das Programm von einer anderen Anwendung beendet wird. Bis jetzt habe ich das Speichern der Koordinaten für Größe/Position in die FormClosing Prozedur gelegt. Wo muss die Speichernroutine in dem speziellen Fall abgelegt werden?
- Bearbeitet k.dober Freitag, 18. November 2016 10:59
Antworten
-
Hi,
ich würde die Daten in den Einstellungen (Settings) anstelle einer ini-Datei ablegen. Das hat den Vorteil, dass bei Nutzung durch verschiedene Anwender an gleichen Rechner jeder seine eigenen Zustände gespeichert hat.Außer bei Application.Exit wird Form_Closing immer durchlaufen, s. auch The Form.Closed and Form.Closing events are not raised when the Application.Exit method is called to exit your application. Alternativ kann man natürlich auf Veränderungs-Ereignisse reagieren und nach jeder Änderung der Position und der Größe die Werte abspeichern. Dann ist es egal, wie das Programm beendet wird.
--
Viele Grüsse
Peter Fleischer (MVP Reconnect, Partner)
Meine Homepage mit Tipps und Tricks- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 21. November 2016 13:34
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 2. Dezember 2016 11:04
Alle Antworten
-
Hi,
ich würde die Daten in den Einstellungen (Settings) anstelle einer ini-Datei ablegen. Das hat den Vorteil, dass bei Nutzung durch verschiedene Anwender an gleichen Rechner jeder seine eigenen Zustände gespeichert hat.Außer bei Application.Exit wird Form_Closing immer durchlaufen, s. auch The Form.Closed and Form.Closing events are not raised when the Application.Exit method is called to exit your application. Alternativ kann man natürlich auf Veränderungs-Ereignisse reagieren und nach jeder Änderung der Position und der Größe die Werte abspeichern. Dann ist es egal, wie das Programm beendet wird.
--
Viele Grüsse
Peter Fleischer (MVP Reconnect, Partner)
Meine Homepage mit Tipps und Tricks- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Montag, 21. November 2016 13:34
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 2. Dezember 2016 11:04
-
Hallo,
ich denke Peters Post beantwortet deine Frage, ich möchte dich nur noch auf etwas hinweisen.
Besonders bei mobilen Geräten die hin- und wieder an externen Anzeigen angeschlossen sind, kann das Speichern der Position ggf. nervig werden. Und zwar immer dann wenn beim starten das Fenster auf Koordinaten verschoben wird, die auf einem nicht angeschlossenen Monitor liegen. Bei Dialogfenstern ist das Programm dann sogar unbenutzbar, da nicht mal per Tastatur verschiebbar (soweit ich weiß).
Daher solltest du (sofern noch nicht geschehen) beim Starten erstmal prüfen ob die Koordinaten auf einem angeschlossenen Monitor liegen. Das kannst du über die Screen-Klasse erledigen.Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets