LIMITER LA SAISIE À CERTAINS CARACTÈRES/TOUCHES DANS UN TEXTBOX EN VB.NET

Signaler
Messages postés
31
Date d'inscription
dimanche 16 mars 2003
Statut
Membre
Dernière intervention
19 avril 2003
-
blq
Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/6084-limiter-la-saisie-a-certains-caracteres-touches-dans-un-textbox-en-vb-net

blq
Messages postés
97
Date d'inscription
vendredi 22 octobre 1999
Statut
Membre
Dernière intervention
13 juin 2016
1
Tester avec VB 2010. Simple et efficace. Merci !

Pour compléter et pour ceux souhaitant traiter plusieurs champs en même temps sans dupliquer le code, il suffit de faire ainsi (pour le premier exemple mais c'est pareil pour les autres test en exemple) :

Private Sub CheckDigit(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress, TextBox2.KeyPress, TextBox3.KeyPress If Char.IsDigit(e.KeyChar) False And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back Then e.Handled True
End Sub

Le label CheckDigit n'est pas la désignation d'un TextBox, mais un label de votre choix (vous pouvez mettre Toto :-)), c'est l'ajout des TextBox avec leur Event qui permet de regrouper en une seule fonction le traitement pour tous les TextBox ajoutés.
B Xeon Otman
Messages postés
6
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
27 septembre 2009

Salut, je veux juste ajouter quelques chose sur la fonction "majuscules_KeyPress" :

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim pos As Integer = TextBox1.SelectionStart
If Char.IsUpper(e.KeyChar) = False And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back Then
e.Handled = True
If Char.IsLetter(e.KeyChar) Then
TextBox1.Text = TextBox1.Text.Insert(pos, e.KeyChar.ToString.ToUpper)
TextBox1.SelectionStart = pos + 1
End If
End If
End Sub
arapahoo
Messages postés
26
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
11 juillet 2008

Excellent et compact Merci 10
avelone
Messages postés
15
Date d'inscription
dimanche 5 août 2007
Statut
Membre
Dernière intervention
30 novembre 2010

Merci pour le code pour gérer que les chiffres et les virgules.

Très Bien

Merci

C'est excellent