[英]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知道,有一個事件從Form
類Closing
,你可以陷阱並呈現對話框'這個應用程序正在退出,你想繼續等',並設置Cancel
標志為true以中止關閉表單,還有來自Application
類的ApplicationExit
事件,如果要處理關閉應用程序,則可以捕獲該事件。
希望這會有所幫助,最好的問候,湯姆。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.