2013-04-27 4 views
2

Salut je veux définir ma zone de texte uniquement avec les alphabets j'ai essayé le code suivant, ça fonctionne bien pour les touches du clavier.Mais si j'appuie sur les chiffres clés du pavé numérique, il accepte les chiffres peuvent quelqu'un s'il vous plaît aidez-moi, merci beaucoup.Validation de la zone de texte dans C# .net

bool isvalid = true; 

    private void textBox1_KeyDown(object sender, KeyEventArgs e) 
    { 
     if ((e.KeyValue <65 || e.KeyValue > 90) && (e.KeyValue<97||e.KeyValue>122) e.KeyValue != 8)) 
     { 
      isvalid = false; 
      MessageBox.Show("only alphabets"); 

     } 
     else 
     { 
      isvalid = true; 

     } 
    } 

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     if (isvalid == false) 
     { 
      e.Handled = true; 
     } 
     else 
     { 
      e.Handled = false; 
     } 

    } 

Répondre

3

Utilisez la propriété Regex.IsMatch.

peut utiliser code suivant:

private void txtAlphaOnly_TextChanged(object sender, EventArgs e) 
{ 
    if (System.Text.RegularExpressions.Regex.IsMatch("^[a-zA-Z]", txtAlphaOnly.Text)) 
    { 
     MessageBox.Show("Alphabets Only Allowed");    
    } 
} 

MSDN:

http://msdn.microsoft.com/en-IN/library/system.text.regularexpressions.regex.ismatch.aspx

Espoir Son utile.

+1

ce qui est beaucoup mieux que la validation à chaque touche, car elle permet de copier et coller etc .. – rocky

+0

utilisant System.Text.RegularExpressions; espace de noms windowsDemo { public partial class textbox1: Formulaire { textbox1 public() { InitializeComponent(); } private void (object sender, EventArgs e) {textBox2_TextChanged si (System.Text.RegularExpressions.Regex.IsMatch ("^ [a-zA-Z]", textBox2.Text)) { MessageBox. Afficher ("Alphabets seulement autorisés"); } } } } J'ai essayé le code suivant comme vous l'avez dit mais il accepte toujours les nombres et les numéros de clavier. – user2326333

1

Dans l'événement KeyDown ce que vous obtiendrez sur e.KeyValue est le code de la clé sur le clavier, pas les caractères, voir Keys Enumeration. Cette condition est vraie pour A-Z et a-z.

(e.KeyValue >= Keys.A && e.KeyValue <= Keys.Z) 
Questions connexes