2012-05-31 25 views
0

我有以下問題:我保存(xml序列化)我的配置(對象的非常大的列表)在應用程序退出,主窗體關閉,但有時在某些comps操作系統(贏7)終止我的應用程序在保存完成之前。所以我問是什麼時候這樣做的最好時機,我認爲可能在主表單上最小化,但是對於條件(用戶可能永遠不會最小化該應用)。何時適當的時間來保持配置?

+0

這是一個桌面應用程序?怎麼樣嵌入式數據庫,而不是把所有的東西都放在配置中? –

回答

0

WPF只有

你試圖把它在你的應用程序類?在應用程序退出時會觸發重寫。下面的方法需要10秒來完成它的任務,並且還使得用戶在應用程序關閉之前單擊消息箱上的確定按鈕。

這不會工作,如果你保存你的配置在另一個線程雖然它只會退出應用程序。

App.xaml.cs

/// <summary> 
    /// Interaction logic for App.xaml 
    /// </summary> 
    public partial class App : Application 
    { 
     protected override void OnExit(ExitEventArgs e) 
     { 
      Thread.Sleep(10000); 
      MessageBox.Show("done"); 
      base.OnExit(e); 
     } 
    } 

贏形式你可以連接到ApplicationExit事件,並保存你的設置存在的WinForms應用

Application.ApplicationExit += new EventHandler(Application_ApplicationExit); 
static void Application_ApplicationExit(object sender, EventArgs e) 
{ 

} 
+0

非常抱歉,我點擊了XML標籤而不是XAML,這個答案只針對WPF應用程序(儘管關於線程的評論在winforms中仍然有效) – Andy

+0

我也添加了winforms解決方案。 – Andy

相關問題