Bonjour
comment je peux interdire la saisie caractères sauf les chiffres dans 2 contrôles TextBox,le premier pour saisir les entiers et l'autre pour les décimales dont le séparateur est le point(.)
merci
Bonjour
comment je peux interdire la saisie caractères sauf les chiffres dans 2 contrôles TextBox,le premier pour saisir les entiers et l'autre pour les décimales dont le séparateur est le point(.)
merci
Si t'utilises ASP.Net, alors regarde du côté d'AjaxControlToolkit, avec le FilteredTextBox.
Si t'utilises WinForm, utilises le contrôle MaskedTextBox.
J'utilise WinForm avec le contrôle TextBox,et en mode programmation de son événement KeyPress le programme est le suivant:
ce petit programme interdit l'écriture des caractères sauf les chiffres,mais un petit souci est quand je vaudrais effacer un nombre saisi avec la touche de clavier "backspace" ca marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 If Not Char.IsDigit(e.KeyChar) Then e.Handled = True End If
des chiffres entiers :
des décimales... dans ce cas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 If (Char.IsLetter(e.KeyChar)) Or (Char.IsPunctuation(e.KeyChar)) Then e.Handled = True End If
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 If (Char.IsLetter(e.KeyChar)) Then e.Handled = True End If
c'est excellent
il reste une petite remarque concernant le deuxième programme qui accepte la virgule(,) dans la saisie.
Non je ne pense pas que c pas possible de l'éviter malheureusement, parce qu'il y a des ordinateurs qui acceptent la virgule comme séparateur décimal (ça dépend de la config dans la paramètres régionaux).
Tu peux toujours faire des conditions
ah ajoute ça aussi pour éviter les espaces :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (Char.IsSeparator(e.KeyChar))
Partager