VB.NET 2008/VB - 이벤트

이벤트 처리 - 종료시 사용자의 선택에 따라 종료 취소하는 방법

본클라쓰 2011. 4. 17. 10:30

 

  폼에 버튼이나 메뉴에 이벤트를 연결하여 프로그램을 종료할 때는 End 키워드를 사용합니다.

 

 

  하지만 창에 있는 종료 아이콘을 클릭하여 종료할 때는 자동으로 종료되는데, 이 때 사용자에게 종료를 확인하고 종료를 취소하기 위한 방법이 있는데 Form.FormClosing 이벤트를 활용하는 방법입니다. (아래의 그림에서 처럼 종료 아이콘을 클릭하여 창을 종료할 때 사용자로부터 확인하여 종료를 결정할 수 있습니다.)

 

 

  FormClosing 이벤트는 폼이 닫히는 동안 발생합니다. 폼이 닫히면 폼이 삭제되고 폼과 관련된 모든 리소스가 해제됩니다. 하지만 이 이벤트를 취소하면 폼은 열린 상태로 남아 있습니다. 폼 닫기를 취소하려면 이벤트 처리기에 전달된 FormClosingEventArgs의 Cancel 속성을 true로 설정하면 됩니다. (폼은 Close()메서드가 호출되면 폼의 리소스가 이미 해제되어 있으몰 show()메서드를 호출하여 폼을 표시할 수 없습니다. )

 

  따라서 ForClosing 이벤트 헨들러를 구현하여 종료를 취소할 수 있습니다.

 

 

  FormClosing 이벤트의 핸들러를 구현할 때는 전달되는 매개변수를 일치시켜야 합니다.