2012. 2. 29. 08:45

전통적인 C# 프로그램에서 프로그램을 종료시킬 때 사용하는 방법은

Application.Exit();
Environment.Exit(0);
System.Diagnostics.Process.GetCurrentProcess().Kill();

이렇게 많이 사용합니다.

(참고 : [.NET] 응용프로그램 종료 메서드 비교 )

 


가끔 창이 하나이거나 메인 폼이 중심이 되는 경우 아래와 같이 사용할 때도 있습니다.

this.Close();

그러다 문득
"WPF에서도 똑같은가?"
라는 의문이 들었습니다.

 

연관글 영역

 

 

윈폼(WinForm) 메서드 시도

WinForm과 WPF와는 미묘한 차이가 있는데 이런 것들은 사실 직접 격기 전에는 알기가 힘듭니다.

 

그래서 한번 해보았습니다.

 

'Application.Exit();'를 빼고는 다 동작 하는 군요.

 

 

WPF에서 동작하는 메서드

결론적으로 WPF에서 동작하는 종료문에 아래와 같습니다.

Environment.Exit(0);
System.Diagnostics.Process.GetCurrentProcess().Kill();
this.Close();

 

 

WPF에서 ''Application.Exit();''

'Application.Exit();'와 비슷한 메서드는 'Application.Shutdown()' 입니다.

//System.Windows.Application.Current.Shutdown();
Application.Current.Shutdown();

 

 

마무리

MS Docs의 설명에는 'Application.Shutdown()'가 'Environment.Exit(0);'에 가까워 보이는데.....

검색을 해보면 'Application.Shutdown()'가 'Application.Exit();'에 더 가깝다고 하네요.

이것저것 테스트해봐야 알 듯하네요.