2010-07-22 8 views
1

내 프로젝트 (WPF)에서 나는 System.Windows.MessageBox을 사용하여 삭제 작업과 같이 중요한 작업에 대한 확인 대화 상자를 표시합니다.MessageBox - 중요한 작업에 대한 확인

내 문제는 단추 값 MessageBoxButton.YesNo으로 지정하면 사용자가 이스케이프 키를 사용하여 작업을 취소 할 수 없다는 것입니다. IMO 이것은 프로그램이 할 수있는 가장 짜증나는 일 중 하나입니다. 이스케이프 키를 통해 대화 상자를 취소하거나 닫을 수있는 대화 상자가 표시되지 않습니다.

다른 가능성은 MessageBoxButton.YesNoCancel이지만 IMO는 단 두 번의 작업에 대해 세 개의 버튼을 보여주기 때문에 혼란 스럽습니다. 또는 하나는 MessageBox.OKCancel을 사용할 수 있지만 이는 충분히 명확하지 않습니다. 내 대화 상자에서 나는 그녀가 정말로 작업을 실행하기를 원하는지 사용자에게 묻고 싶습니다. 그리고 이것을 위해, 간단한 ok는 적절하지 않습니다. A (내가 원합니다)은 ok (계속)보다 훨씬 좋습니다.

어떻게 처리합니까? 비 주제입니까, 아니면 자신이 MessageBox 구현을하고 있다고 생각합니까, 아니면 System.Windows.MessageBox 클래스를 확장 할 수 있는지 알고 계십니까?

+1

이스케이프 키를 "Yes"또는 "No"로 설정 하시겠습니까? :-) 예/아니오/취소를 사용할 것입니다. 여기서 아니오와 취소는 동일한 것입니다. "삭제 안 함"및 "삭제 취소"(이스케이프 키를 통해 전달됨). –

답변

3

머리글/메시지 및 확인 단추 텍스트에 대한 자리 표시자가있는 사용자 지정 메시지 상자 (Window에서 상속)를 만듭니다. 그런 다음 사용자가 일반적으로 볼 수있는 수백 가지의 표준 OK/Cancel MessageBox에서 눈에 띄는 주목할만한 멋진 대화 상자를 디자인 할 수 있습니다. 예를 들어 Windows Vista 대화 상자와 비슷한 큰 머리글 글꼴을 사용하거나 사용자 지정 이미지를 포함 할 수 있습니다.

그런 다음 Escape 키를 직접 처리하고 대화 상자별로 기본 Escape 비헤이비어를 정의 할 수 있습니다.

관련 문제