먼저 이해합니다. documentation of Application.Run(Form)에서 :
이 방법은 에 폐쇄 이벤트에 대한 mainForm 매개 변수를 이벤트 처리기를 추가합니다. 이벤트 처리기는 ExitThread를 호출하여 응용 프로그램을 정리합니다.
당신은 당신이 그것을 닫아야합니다 (또는 오히려 것) 경우 단지
알터 Program.cs 그것을 숨기기보다는 오히려 그것을
FormClass newForm = new FormClass();
newForm.Show();
previousForm.Hide();
을 닫는 도망 할 수 있습니다.
var form = new Form1();
form.Show();
Application.Run(); // The application will not exit when form is closed
을하지만,이 경우에, 당신은 응용 프로그램을 호출해야합니다 당신을 종료에서 실행 (양식)에 의해 추가 된 이벤트 핸들러를 방지하기 위해, 이러한 처리기를 추가하지 않는) 실행 (의 과부하를 사용합니다. newForm이 닫힐 때 (또는 나가기를 원하는 다른 환경에서) Exit()를하십시오.
Nice - 나는 Application.Run (Form)이 실제로 이벤트 핸들러를 등록했다는 것을 결코 깨닫지 못했습니다. – Justin
우리가 너무 자주 보지 않는 것 중 하나입니다. 맞습니까? :) –