방법: Windows Forms ErrorProvider 구성 요소를 사용하여 양식 유효성 오류 아이콘 표시
사용자가 잘못된 데이터를 입력할 때 Windows Forms ErrorProvider 구성 요소를 사용하여 오류 아이콘을 표시할 수 있습니다. 폼 사이를 탭하여 유효성 검사 코드를 호출하려면 폼에 컨트롤이 두 개 이상 있어야 합니다.
컨트롤의 값이 잘못된 경우 오류 아이콘을 표시하려면
Windows 폼에 두 개의 컨트롤(예: 텍스트 상자)을 추가합니다.
폼에 ErrorProvider 구성 요소를 추가합니다.
첫 번째 컨트롤을 선택하고 Validating 이벤트 처리기에 코드를 추가합니다. 이 코드를 제대로 실행하려면 프로시저를 이벤트에 연결해야 합니다. 자세한 내용은 방법: 런타임에 Windows Forms의 이벤트 처리기 만들기를 참조하세요.
다음 코드는 사용자가 입력한 데이터의 유효성을 테스트합니다. 데이터가 유효하지 않으면 SetError 메서드가 호출됩니다. SetError 메서드의 첫 번째 인수는 옆에 아이콘을 표시할 컨트롤을 지정합니다. 두 번째 인수는 표시할 오류 텍스트입니다.
Private Sub TextBox1_Validating(ByVal Sender As Object, _ ByVal e As System.ComponentModel.CancelEventArgs) Handles _ TextBox1.Validating If Not IsNumeric(TextBox1.Text) Then ErrorProvider1.SetError(TextBox1, "Not a numeric value.") Else ' Clear the error. ErrorProvider1.SetError(TextBox1, "") End If End Sub
protected void textBox1_Validating (object sender, System.ComponentModel.CancelEventArgs e) { try { int x = Int32.Parse(textBox1.Text); errorProvider1.SetError(textBox1, ""); } catch (Exception ex) { errorProvider1.SetError(textBox1, "Not an integer value."); } }
private: System::Void textBox1_Validating(System::Object ^ sender, System::ComponentModel::CancelEventArgs ^ e) { try { int x = Int32::Parse(textBox1->Text); errorProvider1->SetError(textBox1, ""); } catch (System::Exception ^ ex) { errorProvider1->SetError(textBox1, "Not an integer value."); } }
(Visual C#, Visual C++) 양식 생성자에 다음 코드를 추가하여 이벤트 처리기를 등록합니다.
this.textBox1.Validating += new System.ComponentModel.CancelEventHandler(this.textBox1_Validating);
this->textBox1->Validating += gcnew System::ComponentModel::CancelEventHandler (this, &Form1::textBox1_Validating);
프로젝트를 실행합니다. 첫 번째 컨트롤에 잘못된(이 예제에서는 숫자가 아닌) 데이터를 입력한 다음 탭에서 두 번째 컨트롤로 입력합니다. 오류 아이콘이 표시되면 마우스 포인터를 가리킨 다음 오류 텍스트를 표시합니다.
참고 항목
.NET Desktop feedback
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기