2012-11-22 4 views
2

이름, 성과 이름, 성, emailId, 날짜, mobilenumber 등의 텍스트 상자의 유효성을 검사해야하는 양식이 있습니다. 유효성 검사는 사용자가 텍스트 상자에 입력을 시작할 때 발생합니다. errorprovider는 사용자가 숫자 대신 텍스트와 텍스트 대신 숫자를 입력하면 텍스트 상자 아래에 메시지를 표시해야합니다. 암시 적 유효성 검사와 명시 적 유효성 검사에 대해 알아야하지만 암시 적 유효성 검사를 사용하는 것이 좋습니다. 사용자가 텍스트 상자에 초점을 잃거나 다른 텍스트 상자로 이동하는 경우 시간 오류 공급자 때문입니다. 나는 명백한 검증 코드로 이런 종류의 질문을 제기했지만 아무도 나를 대답하지 않았다. 그래서 도움을 청하기 쉽습니다. 나는이 질문을 게시하기 전에 충분한 연구를 마쳤다고 생각하지 않습니다.C# .net winforms에서 텍스트 상자의 유효성을 검사하는 방법

답변

3

매우 구체적인 유효성 검사가있는 경우 3 월 C의 대답이 맞습니다. 그러나 "문자 대신 숫자 입력"또는 "숫자 대신 문자 입력"작업 만하면 MaskedTextBox가 사용자보다 더 나은 작업을 수행합니다 (사용자가 잘못된 데이터에 응답 할 수 없으며 여전히 경고 할 수 있음). MaskInputRejected 이벤트를 처리하여 그들을)

http://msdn.microsoft.com/en-us/library/kkx4h3az(v=vs.100).aspx

+0

좋은 제안 친구. msdn 링크는 가치가 있습니다. – Sri

3

텍스트 상자에서 TextChanged 이벤트를 살펴보아야합니다. 텍스트 속성은 프로그램 수정 또는 사용자 상호 작용 중 하나가 변경되면

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.textchanged.aspx

이 이벤트가 발생합니다.

나는이

private void TextBoxExample_TextChanged(object sender, EventArgs e) 
{ 
    TextBox box = sender as TextBox; 

    if (box.Text.Contains("Example")) 
    { 
     LabelError.Text = "Error"; 
    } 
    else 
    { 
     LabelError.Text = string.Empty; 
    } 
} 

처럼 뭔가를 할 것이라고는 할 수 :) 희망

+0

내가 별도로 각 텍스트 상자에 대해이를 구현해야합니까. – Sri

+0

아니요,이 메서드에 모든 TextBox TextChanged 이벤트를 첨부 할 수 있습니다. – MarcD

3
또한이 숫자를 허용하지 않습니다 텍스트 상자 의 수치 값을 입력 피해야 할 keyPressEvent을 사용할 수 있습니다

텍스트 상자의 문자

private void textboxName_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     //not allowing the non character values 
     if (!char.IsLetter(e.KeyChar) && !char.IsControl(e.KeyChar) && !(e.KeyChar == (char)Keys.Back) && !(e.KeyChar == (char)Keys.Left) && !(e.KeyChar == (char)Keys.Right) && !(e.KeyChar == (char)Keys.Space) && !char.IsPunctuation(e.KeyChar)) 
     { 
      e.Handled = true; 
     } 
    } 
+0

좋은 답변, 시도해 보겠습니다. 감사합니다 – Sri

관련 문제