WinForms 응용 프로그램에서 대화 상자를 만들었습니다. 여기에는 많은 텍스트 상자와 확인/취소 버튼이 있습니다. 사용자가 확인을 클릭하면 모든 항목이 유효하면 대화 상자가 닫히기 만하면됩니다. 각 컨트롤에 대해 "Validating"이벤트를 별도로 수행하는 방법을 알 수 있습니다. 괜찮습니다. 그러나 이들은 컨트롤이 포커스를 잃을 때만 발사되는 것처럼 보입니다. 그러나 대화 상자의 빈 텍스트 상자도 유효하지 않은 입력이므로 사용자가 해당 컨트롤에 집중하지 못했을 수 있습니다. 확인을 클릭하면 모든 컨트롤의 유효성을 검사하는 것을 선호합니다.WinForm에서 데이터 유효성 검사
나는 이렇게하는 방법을 생각할 수 없다. 확인 버튼의 onclick 무시는 창을 닫지 않도록하는 옵션을 갖고 있지 않습니다. 양식 IsClosing 이벤트는 Cancel = true를 설정하여 수행합니다. 그러나 이것은 확인 또는 취소 버튼을 클릭했는지 여부를 구분할 수없는 것 같습니다. 분명히 취소 버튼을 클릭하면 유효성 검사에 신경 쓰지 않고 양식을 닫을 때마다 관계없이 허용 할 수 있습니다.
은 이러한 작업을 수행하기위한 가장 좋은 방법은 무엇입니다]
업데이트 : 이미 내가 확인 버튼을 클릭하면 CausesValidation 해고되지 않습니다 내 양식하고 확인 버튼을하지만 내 검증 이벤트 모두 true로 설정했다. 아래의 해결책으로 제안 된대로 언급합니다.
을 :
지금 확인 버튼 동작의 시작 부분에 다음 코드를 추가합니다 T는 귀하의 유효성 검사를 호출 (나는 databinding보고 방법에 의해 바인딩 된 개체의 유효성을 검사) 제안 방법은 확인 버튼에 대한 onclick에 다음 유효성 검사의 양식을 닫지 못하겠습니까? 확인을 클릭하면 양식이 마술로 닫히지 않아야합니다. –