2009-05-01 5 views
1

사용자가 닫기 단추를 눌렀을 때 발생하는 이벤트가 있습니까?WPF : 사용자가 닫기 버튼 [X]을 눌렀을 때 발생하는 이벤트가 있습니까?

이것은 창 Closing 이벤트는 트리거 때문에 모두 하나합니다 (Close 방법) 수동으로 창을 닫을 때 또한 사용자는 [X] 버튼을 누를 때 ...하지만 어떻게 든 경우에만 사용자를 알 필요가 창을 수동으로 닫을 때 [X] 버튼을 누르지 마십시오.

답변

2

저는 WPF에서 그 차이를 구분할 수있는 방법이 있다고 생각하지 않습니다 (비록 내가 긍정적이지는 않지만).

항상 WinForms에서 처리하는 방법은 "_Closing"멤버 변수를 만들고 false로 설정하고 _Closing을 true로 설정하고 Close를 호출하는 "ReallyClose()"메서드를 만드는 것입니다. _Closing이 true로 설정되지 않은 경우 My Closing 핸들러는 닫기를 취소합니다.

그래, 조금은 해킹이지만 작동했습니다.

0

나는 또한 그들을 구분할 방법이 없다고 생각합니다. Application.Exit 이벤트에 처리기를 추가 할 수 있지만 "빨간색 X 단추 닫기"및 "alt-F4 닫기"(또는 다른 닫기 유형을 고려하지 않음)를 구별하지 않습니다.

동의어, Application.Exit을 확인한 경우 Application.SessionEnding도 확인하십시오. 앱 실행 중 누군가가 로그 오프하면 Application.Exit이 호출된다는 보장을 할 수 없습니다.

0

이름과 함께 버튼을 넣으려고하십시오. 클래스에서 취소 및 부울 변수를 클릭하십시오. 버튼을 클릭하면 true로 설정되고 이벤트가 닫히면 true로 설정됩니다. e.Cancel = false로 나가면 모든 것을 시도하고 It 저를 위해 작동하지 않으며 나는 이렇게하고 몇몇 정보를 삽입하는 경우에 당신은 단추를 다만 받아들이도록 X 단추를 제거 할 수있다.

관련 문제