次の問題があります:アプリの終了時に構成(オブジェクトの非常に大きなリスト)を保存(xmlシリアル化)し、メインフォームを閉じますが、一部のコンプのOS(win 7)が保存が完了する前にアプリを終了することがあります。だから私はこれを行うのに最適な時期はいつかと尋ねています.おそらくメインフォームの最小化で考えましたが、それは条件付きです(ユーザーはアプリを最小化することは決してないでしょう).
1 に答える
0
WPFのみ
アプリケーションクラスに入れてみましたか?アプリケーションの終了時に起動するオーバーライドがあります。以下の方法では、タスクを完了するのに10秒かかります。また、アプリケーションを閉じる前に、ユーザーはメッセージボックスの[OK]ボタンをクリックします。
ただし、構成を別のスレッドに保存している場合、これは機能しません。アプリケーションを終了するだけです。
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);
}
}
Winフォーム
Winformsアプリケーションでは、ApplicationExitイベントにフックして、そこに構成を保存できます。
Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
static void Application_ApplicationExit(object sender, EventArgs e)
{
}
于 2012-05-31T09:18:46.777 に答える