C#WPFアプリケーションを閉じるための推奨される方法はどれですか?
1)メインウィンドウ内でWindow.Close()を呼び出す
2)メインウィンドウ内でApplication.Current.Shutdown(0)を呼び出します。
この2つは意味的に同等ですか、それとも私が知っておく必要のある微妙な違いがありますか?
C#WPFアプリケーションを閉じるための推奨される方法はどれですか?
1)メインウィンドウ内でWindow.Close()を呼び出す
2)メインウィンドウ内でApplication.Current.Shutdown(0)を呼び出します。
この2つは意味的に同等ですか、それとも私が知っておく必要のある微妙な違いがありますか?
Application.ShutdownMode
最初のものは、アプリケーションをシャットダウンすることさえできないかもしれないあなたによっては、ウィンドウを閉じるだけです。
アプリケーションを終了する方法は、実行したいことだけに依存します。つまり、すべての小さなダイアログがアプリケーションの終了を妨げないように、を定義してに設定する傾向があります(デフォルトはApplication.MainWindow
)。ShutdownMode
OnMainWindowClose
OnLastWindowClose
間違いなくWindow.Close();
、これにより、他のすべてのウィンドウが適切にシャットダウンされ、使い捨てリソースが完成します。アプリ全体を閉じるには(つまり、メインウィンドウから)、メインウィンドウでこれを呼び出す必要があることに注意してくださいthis.Close();
。
Application.Shutdown
開いているすべてのウィンドウを閉じて破棄します。また、別の終了コードを返す可能性もあります。だから私は(通常)と一緒に行きApplication.Shutdown
ます。