Interdire caractères numériques dans un TextBox
Salut à tous, je suis sur un projet en VB.NET depuis un certains temps (je travaille sur Visual Studio 2013 Express pour le Web), j'arrive à la phase finale et j'aimerais rajouter qq ajustements.
J'ai plusieurs TextBox, de types Nom, Prénom, etc... et j'aimerais empêcher l'utilisateur d'entrer des valeurs numériques, pour qu'il ne mette que des caractères, ou bien simplement une petite fonction pour vérifier si les données des Textbox sont des valeurs numériques ou non. Je sais que faire l'inverse est assez simple mais bon ^^
Si vous avez des idées ce ne serait pas de refus. Merci à vous
1 pièce(s) jointe(s)
Empêcher la saisie de valeurs numérique
Pour empêcher l'utilisateur de saisir des valeurs numériques dans un texbox nom par exemple,voici ce que je te propose:
D'abord,tu crée un tableau (peu importe le nom: soit x par exemple) de type Char avec les valeurs numériques de 0 à 9.
Ensuite,sur le textbox, tu devras rechercher la propriété keypress (dans la partie événements) et tu doubles clique là-dessus.tu seras amené dans la partie code,et là,tu crées une condition si pour dire que si ton tableau x contiens (en utilisant le mot contains) e.keychar alors (tu écris) e.handled = true.
Je sais que cela peut te sembler bizarre mais je voulais t'expliquer un peu avant de te montrer un exemple concret.
Exemple: ma textbox a pour nom textbox1
Code:
1 2 3 4 5 6 7
|
Dim interdiction() As Char = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
If interdiction.Contains(e.KeyChar) Then
e.Handled = True
End If
End Sub |
Résultat : l'utilisateur ne peut plus écrire des chiffres (des valeurs numériques)
NB: voici la photo de la propriété keypress (en bleu à droite) qui se trouve dans la partie event(évènement):
Pièce jointe 174961