Comment restreindre la zone de texte en C# pour recevoir uniquement les numéros et (point “.” ou une virgule “,”), après le “.” ou “,” permettre seulement 2 nombre de caractères
je suis en train de développer un code de restreindre la zone de texte à l'aide de C# pour autoriser uniquement les numéros d'entrée + virgule(",") ou le point(".") + à seulement 2 chiffres après le point ou la virgule
Ainsi, de cette façon de voir les nombres possibles qui peuvent d'entrée:
3213,04 = OK
3211,664 = Not
32.31 = OK
32.3214 = Not
334,,00 = Not
3247,.00 = Not
214.,00 = Not
32.. = Not
8465,0 = Ok
654.0 = Ok
Compris Mon objectif ?
J'ai développé le code soufflet
private void txtValormetrocubico_KeyPress(object sender, KeyPressEventArgs e)
{
if (txtValormetrocubico.TextLength >= 0 && (e.KeyChar == (char)Keys.OemPeriod || e.KeyChar == (char)Keys.Oemcomma))
{
//tests
}
else
{
if (!char.IsControl(e.KeyChar)
&& !char.IsDigit(e.KeyChar)
&& e.KeyChar != '.' && e.KeyChar != ',')
{
e.Handled = true;
}
//only allow one decimal point
if (e.KeyChar == '.' && (sender as TextBox).Text.IndexOf('.') > -1)
{
e.Handled = true;
}
if (e.KeyChar == ',' && (sender as TextBox).Text.IndexOf(',') > -1)
{
e.Handled = true;
}
}
}
- comment au sujet de ce numéro, sans aucun '.' ou ',' est-il bien ou non 123456879
Vous devez vous connecter pour publier un commentaire.
Essayez ce code !
J'espère que cette aide. Laissez-moi savoir si je peux vous aider davantage.
C'est l'auxiliaire de la fonction que j'ai écrite
Ce votre touche gestionnaire d'événement
Je pense que vous avez besoin de quelque chose comme Masqué contrôle de zone de texte ici vous avez quelques références
http://msdn.microsoft.com/en-us/library/kkx4h3az.aspx
http://www.c-sharpcorner.com/uploadfile/mahesh/maskedtextbox-in-C-Sharp/
Une autre façon de faire ce que vous voulez est d'utiliser des expressions régulières
Eh bien, vous pouvez créer une fonction générale et de l'appeler sur
keypress
événement de ce code est un général de l'instance.validate_textBox
est une fonction généraleEnsuite, vous pouvez appeler la fonction comme ce code pour chaque zone de texte que vous avez sous la forme