2012-11-11 38 views

回答

1

您以與任何事件相同的方式訂閱此活動。

ApplicationExit MSDN頁面上的例子是明確的:

Application.ApplicationExit += new EventHandler(this.OnApplicationExit); 

private void OnApplicationExit(object sender, EventArgs e) { 
    // do your cleanups 
} 
3

事件是靜態的,所以使用它在一個DLL不會引起任何問題。

但要小心,如果您的類庫實際上是從Winforms應用程序使用的,則只會觸發該事件。如果您公開的功能僅適用於Winforms應用程序,那麼您只能確定這一點。就像自定義控件或UserControl一樣。

替代方案是AppDomain事件,DomainUnload和ProcessExit。或者只是期待主應用程序讓你知道關機。這通常是更好的選擇,你不一定知道爲什麼該應用程序正在退出。例如,您不希望在硬崩潰時保存設置。注意ApplicationSettingsBase類也遵循這種模式,你必須明確地調用它的Save()方法。