簡體   English   中英

如何知道應用程序正在關閉

[英]how to know the application is shutting down

有一個WPF應用程序。

我想在應用程序關閉時記錄。

但我不能修改應用程序(一些限制,只是因為業務)。

因此,我在現有應用程序中創建一個不可見的表單組件,添加為dll庫,因此不需要修改現有的應用程序。

但問題是,我的隱形組件怎么知道應用程序正在關閉?

我可以使用一些功能或事件處理程序嗎?

解:

有一些事件可以做到這一點,

UnLoaded Closing Closed

當主窗口關閉時,將觸發所有這三個事件。

問題解決了

System.Windows.Window類具有可以為此重寫的虛擬OnClosing(CancelEventArgs)方法,以及可以處理的Closing事件。

我通常捕獲這些事件並將信息傳遞給Page類,遺憾的是,它不包含這樣的方法或事件。

每個窗口都會在關閉時觸發這些方法,因此沒有必要在父窗口和子窗口之間連接任何消息。 並且,我相信,任務管理器將首先嘗試正常關閉應用程序,這將導致關閉事件觸發,除非其他內容(如對話框)阻止它。 只有在嘗試之后,TM才會詢問是否要對應用程序執行異常結束,這顯然會繞過Closing事件。

你檢查過FormClosing事件嗎?

我仍然沒有WPF的知識,但我確實從winforms知道,有一個事件從FormClosing ,你可以陷阱並呈現對話框'這個應用程序正在退出,你想繼續等',並設置Cancel標志為true以中止關閉表單,還有來自Application類的ApplicationExit事件,如果要處理關閉應用程序,則可以捕獲該事件。

希望這會有所幫助,最好的問候,湯姆。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM