2009-08-04 7 views
2

Ich schreibe eine Winforms-App für die Taskleiste, die einige wichtige Bereinigungen in Application.ApplicationExit durchführt. Wenn ich beim Debuggen in Visual Studio auf die Stoppschaltfläche klicke, wird der Prozess beendet, aber dieser Bereinigungscode wird nicht aufgerufen. Gibt es einen Weg, wie ich sicherstellen kann, dass es in dieser Situation aufgerufen wird?Wie kann ich die WinForms-Anwendung ordnungsgemäß beenden, wenn ich das Debuggen in VS stoppe?

Antwort

3

Nr. Wenn Sie die Stop-Taste drücken, können Sie erwarten, dass Ihre Anwendung keinen Code mehr ausführt (dadurch können Sie Endlosschleifen beenden). Wenn es mehr Code ausführte, wäre der Stop-Button ein Schließen-Button. Die Stopp-Taste ermöglicht es Ihnen, Ihre Anwendung zu töten, ohne taskman zu öffnen, was wahrscheinlich VS auch töten würde.

Ich würde vorschlagen, einen nahen Menüpunkt in einem Kontextmenü für das Symbol zu haben. Wenn der Nutzer darauf klickt, wird die App & bereinigen, sodass Ihr Programm ordnungsgemäß beendet werden kann.

Wenn Sie mehr Informationen über das Debuggen beenden Taste check out the MSDN reference on it.

+0

Ja, ich habe einen engen Zusammenhang Taste. Das eigentliche Problem ist, dass wenn eine App nicht ordnungsgemäß geschlossen werden kann, ein teilweise gemountetes virtuelles Laufwerk aktiv bleibt, wodurch Windows instabil wird. – mcintyre321

+0

** @ mcintyre321: ** Warum können Sie nicht einfach die Schaltfläche zum Schließen des Kontexts drücken? Es würde leichter fallen, als den Stop-Debugging-Button in etwas zu verwandeln, für das es nicht gedacht ist. – Kredns

+1

manchmal wird es ein wenig unempfänglich! – mcintyre321

Verwandte Themen