2011-07-13 62 views
2

當應用程序被從任務管理器收盤,比Form_Closed事件不點火,有沒有辦法如何處理這個問題,因爲我的應用程序編寫上運行一個文本文件 - 時間總是,所以我需要敲定,其保存線程的數據和Form_Closed關閉StreamWriter,所以如何處理,不管如何我的應用程序被關閉,從用戶,ALT + F4或任務管理器形成閉合事件不被解僱

+0

可能需要將POWER CUT添加到列表中:) – Bolu

+0

什麼是POWER CUT? @Bolu – Burimi

+2

殺死一個進程,實際上確實會殺死進程。沒有事件會觸發,不會終止塊運行。 – leppie

回答

0

實施IDisposable界面,並從StreamWriter上致電Dispose()

+0

來自哪裏? – V4Vendetta

+0

調用Form_Closed事件? – Burimi

0

爲了得到這種情況,你需要處理Application.Exit事件。

恰好在應用程序關閉之前發生,並且無法取消。

在這裏,您可以確保所有數據都寫入文件,並且正確關閉 - 如果它當前尚未關閉。

+0

這也不會工作,嘗試應用這個並關閉應用程序從任務管理器它不會引發此事件 – Burimi

+0

@Cody - 哦,我認爲它的確如此。您是從「進程」選項卡中終止進程還是從「應用程序」選項卡結束任務? – ChrisF

+0

是的,即時消息從進程選項卡,並從外部應用程序使用Process.kill()測試它; – Burimi