2014-12-04 4 views
0

나는 Windows Forms 응용 프로그램에서 작업 중이며 errorproviders를 사용하여 몇 가지 텍스트 상자의 유효성을 검사하려고하지만 문제는 Tab 1에있는 단추를 클릭 할 때 모든 텍스트 상자가 다른 탭이 유효화됩니다. 현재 탭에있는 텍스트 상자가 아니라 다른 탭에있는 컨트롤에 대한 유효성 검사가 필요합니다. 이것을 어떻게 할 수 있습니까? 도와주세요. 다음은 click 이벤트의 유효성 검사와 관련된 코드입니다.ErrorProviders를 사용하는 다른 탭의 유효성 검사

private void btnCreateUser_Click(object sender, EventArgs e) 
    { 
      if (this.ValidateChildren(ValidationConstraints.Enabled)) 
     { 
       // Some Code here 
     } 
    } 

아래는 하나의 텍스트 상자에 대한 유효성을 검사하고 유효성을 검사하는 데 사용되는 코드입니다. 다른 텍스트 상자와 비슷한 코드를 다른 탭에도 사용하고 있습니다.

 private void txtFirstNm_Validating(object sender, CancelEventArgs e) 
    { 
     bool cancel = false; 
     if (txtFirstNm.Text.Trim().Length == 0) 
     { 
      cancel = true; 
      errorProvider1.SetError(txtFirstNm,"Please enter First Name"); 
     } 
     else 
     { 
      cancel = false; 
      errorProvider1.SetError(txtFirstNm, ""); 
     } 
     e.Cancel = cancel; 
    } 

    private void txtFirstNm_Validated(object sender, EventArgs e) 
    { 
     errorProvider1.SetError(txtFirstNm,""); 
    } 

답변

0

내 질문에 주어진 시나리오는 아래 코드를 사용하여 처리 할 수 ​​있습니다. ValidationConstraint를 Visible로 사용하면 현재 보이는 컨트롤에서 유효성 검사가 수행됩니다.

private void btnCreateUser_Click(object sender, EventArgs e) 
    { 
     if (this.ValidateChildren(ValidationConstraints.Visible)) 
     { 
      // Some Code here 
     } 
    }