2010-03-05 2 views

답변

0

leave 이벤트 처리기에서 문자열을 검사하고 오류를 표시하거나 포커스를 강제로 지정하십시오.

0

사용자가 "완료"한 후에 입력을 확인하거나 KeyPress 이벤트를 캡처하고 키가 문자가 아닌 경우 이벤트를 억제 할 수 있습니다.

+0

의 키는 나쁜 생각입니다 잘못된 문자열이 – Andrey

+2

또는 복사 - 붙여 넣기 할 수 있기 때문에 상자를 떠날 때 키 누르기 확인 * 및 * 유효성 검사를 수행 할 수 있습니다. 사실. –

0

유효성 검사 경로를 종료하려면 텍스트 상자의 TextChanged 이벤트를 사용하여 .text에 A-Z가 아닌 문자가 포함되어 있는지 확인하십시오. 그렇다면 ErrorProvider의 .SetError 메서드를 사용하여 입력 한 내용에 문제가 있음을 사용자에게 알립니다. 생성자 또는 디자이너를 통해

if (!Regex.IsMatch(textbox.Text, @"[a-zA-Z]")) 
{ 
    yourErrorProvider.setError(textbox, "Only A-Z accepted."); 
} 
3

:

textBox.KeyPress += new KeyPressEventHandler(textBox_KeyPress); 

그런 다음 이벤트 처리기 :

private void textBox_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if (e.KeyChar < 65 || e.KeyChar > 122) 
    { 
     e.Handled = true; 
    } 
} 
+0

사용자가 입력하는 동안에 만 작동하며 사용자가 허용되지 않는 값을 붙여 넣으려고하면이 입력이 작동하지 않습니다. –

0
if ((Convert.ToInt32(e.KeyChar) >= 65) && (Convert.ToInt32(e.KeyChar) <= 122)) 

      { 
       errorProvider1.SetError(textBox1, "OK"); 
       errorProvider2.SetError(textBox1, ""); 
      } 
      else 
      { 
       errorProvider2.SetError(textBox1, "Can not enter the numbers..."); 
       errorProvider1.SetError(textBox1, ""); 
       textBox1.Text = ""; 
      } 
관련 문제