'true'를 반환하려면 system.windows.showdialog ()를 얻으려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/505572

  •  21-08-2019
  •  | 
  •  

문제

어떻게 내가 가질까 System.Windows.ShowDialog() '진실'을 돌려주기 위해?

나는 이것에 조금 새로운 것입니다. System.Windows.ShowDialog의 반환 유형입니다 bool? 돌아와야합니다 true 당신이 쳤을 때 Submit, 그리고 false 당신이 쳤을 때 Cancel. 그러나 나는 어느 것을 지정하는지 잘 모르겠습니다 Button 공식 제출 버튼입니다.

편집 : 관련 메모에서, 나는 그것이 Null을 어떻게 반환 할 수 있는지 궁금합니다.

도움이 되었습니까?

해결책

http://msdn.microsoft.com/en-us/library/system.windows.window.showdialog.aspx

showdialog는 활동이 수락되었는지 또는 취소되었는지 여부를 지정하는 nullable <(of <(t>)>) 부울 값을 반환합니다. 반환 값은 창을 닫기 전에 Dialogresult 속성의 값입니다 (Dialogresult 참조).

기본적으로 특정 버튼을 누르지 않고 Dialogresult의 값을 설정하여 결정합니다. 버튼이 무엇을하는지 결정합니다.

다른 팁

WPF에서 button.isdefault 버튼이 창의 "제출"버튼임을 지정하려면 true true. 나는 이것이 진짜의 대화식으로 창을 가깝게 만들 것이라고 100% 확신하지 못한다. 그렇지 않은 경우 클릭 이벤트를 처리하면됩니다.

this.DialogResult = true;

편집하다

마찬가지로, 당신은 사용할 수 있습니다 버튼 .Scancel 버튼을 양식의 "취소"버튼으로 만드는 속성.

편집 2

ShowDialog가 무효가 될 수있는 이유는 양식이 제출되거나 취소 될 때까지 무효화되므로 백그라운드 스레드에서 대화 상자를 보면 테스트 할 수 있기 때문입니다. 나는 그것을 시도하지 않았지만, 그들이 세 번째 "알 수없는"(null) 상태를 속성에 소개하는 논리적 인 이유처럼 보입니다.

Dialogresult를 True ShowDialog로 설정하면 DialOgresult를 False ShowDialog로 설정하면 Dialogresult를 설정하지 않고 대화 상자가 닫히면 (사용자가 오른쪽 상단의 Red X를 클릭합니다) showdialog는 NULL을 반환합니다.

ISDEFAULT를 TRUE로 설정하면 버튼이 약간 다르게 보이면 Enter를 누르면이 버튼이 "클릭"됩니다.

ISCANCEL을 True로 설정하면 ESC를 누르면이 버튼을 "클릭"합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top