|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
LIMITER LA SAISIE À CERTAINS CARACTÈRES/TOUCHES DANS UN TEXTBOX EN VB.NET
Information sur la source
Description
Voila, c'est encore une source assez simple, mais qui pourra surement depanner certains... les methodes que j'utilisais en vb6 n'étant plus utilisables, j'ai du passer deux heures à faire des tests sur les evenements keydown et keypress, jusqu'a trouver que l'annulation se resumait à e.Handled = True dans un evenement keypress... :) Je n'ai pas mis d'exemples pour TOUTS les Char.ISblabla que vb gere, mais avec ca je pense que vous pouvez en deduire ce qu'il reste...
Source
- Private Sub nombres_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles nombre.KeyPress
- 'on accepte que les chiffres (e.KeyChar.IsDigit(e.KeyChar)), ainsi que la touche back (Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back) , sinon on annule (e.Handled = True)
- If Char.IsDigit(e.KeyChar) = False And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back Then e.Handled = True
- End Sub
-
- Private Sub lettres_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles lettre.KeyPress
- 'on accepte que des lettres, ainsi que la touche back
- If Char.IsLetter(e.KeyChar) = False And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back Then e.Handled = True
- End Sub
-
- Private Sub majuscules_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles majuscule.KeyPress
- 'on accepte que des majuscules, ainsi que la touche back
- If Char.IsUpper(e.KeyChar) = False And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back Then e.Handled = True
- End Sub
-
- Private Sub texte_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles texte.KeyPress
- 'on accepte chiffre et lettres (IsLetterOrDigit), espaces (IsWhiteSpace) et ponctuation (IsPunctuation)
- 'ce qu'ils considerent comme ponctuation comporte certains characteres speciaux, comme le % ou le @...
- If Char.IsLetterOrDigit(e.KeyChar) = False And Char.IsWhiteSpace(e.KeyChar) = False And Char.IsPunctuation(e.KeyChar) = False Then e.Handled = True
- End Sub
-
- Private Sub decimaltxt_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles decimaltxt.KeyPress
- 'petit exemple pratique :
- 'on accepte chiffres et virgule, ainsi que la touche back. On remplace un eventuel point par une virgule, et on refuse la saisie d'une virgule en tant que premier caractere
- 'remplacement du point par une virgule
- If Asc(e.KeyChar) = 46 Then e.KeyChar = ","
- 'si c'est une virgule et qu'il y en a déja une dans le textbox, ou qu'elle est tappé en premier caractère, on annule la saisie
- If Asc(e.KeyChar) = 44 And (CType(sender, TextBox).Text.IndexOf(",") > 0 Or CType(sender, TextBox).Text = "") Then e.Handled = True
- 'si le caractere n'est pas un chiffre, back ou une virgule, on annule
- If Char.IsDigit(e.KeyChar) = False And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back And Asc(e.KeyChar) <> 44 Then e.Handled = True
- End Sub
Private Sub nombres_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles nombre.KeyPress
'on accepte que les chiffres (e.KeyChar.IsDigit(e.KeyChar)), ainsi que la touche back (Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back) , sinon on annule (e.Handled = True)
If Char.IsDigit(e.KeyChar) = False And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back Then e.Handled = True
End Sub
Private Sub lettres_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles lettre.KeyPress
'on accepte que des lettres, ainsi que la touche back
If Char.IsLetter(e.KeyChar) = False And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back Then e.Handled = True
End Sub
Private Sub majuscules_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles majuscule.KeyPress
'on accepte que des majuscules, ainsi que la touche back
If Char.IsUpper(e.KeyChar) = False And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back Then e.Handled = True
End Sub
Private Sub texte_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles texte.KeyPress
'on accepte chiffre et lettres (IsLetterOrDigit), espaces (IsWhiteSpace) et ponctuation (IsPunctuation)
'ce qu'ils considerent comme ponctuation comporte certains characteres speciaux, comme le % ou le @...
If Char.IsLetterOrDigit(e.KeyChar) = False And Char.IsWhiteSpace(e.KeyChar) = False And Char.IsPunctuation(e.KeyChar) = False Then e.Handled = True
End Sub
Private Sub decimaltxt_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles decimaltxt.KeyPress
'petit exemple pratique :
'on accepte chiffres et virgule, ainsi que la touche back. On remplace un eventuel point par une virgule, et on refuse la saisie d'une virgule en tant que premier caractere
'remplacement du point par une virgule
If Asc(e.KeyChar) = 46 Then e.KeyChar = ","
'si c'est une virgule et qu'il y en a déja une dans le textbox, ou qu'elle est tappé en premier caractère, on annule la saisie
If Asc(e.KeyChar) = 44 And (CType(sender, TextBox).Text.IndexOf(",") > 0 Or CType(sender, TextBox).Text = "") Then e.Handled = True
'si le caractere n'est pas un chiffre, back ou une virgule, on annule
If Char.IsDigit(e.KeyChar) = False And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back And Asc(e.KeyChar) <> 44 Then e.Handled = True
End Sub
Conclusion
je sais que c 'est simple, mais en considérant que je me suis fait c**** à trouver comment faire, je me dis que ca pourra en aider d'autres.
Historique
- 03 avril 2007 21:33:46 :
- petit raffraichissement du code, mais même mise en page
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
VBA Excel : Limiter la saisie sur plusieurs TextBox d'un UserForm [ par bibiledur ]
Bonjour,Je suis un peu Novice.J'ai un formulaire sur lequel il y a une centaine de TextBox que j'aimerais limiter à l'insertion de nombres.Le problème
limiter saisie d'un textbox [ par louly ]
Bonjour,Je voudrai afin d'afficher dans une spreadsheet (VB6) avec taille de cellule fixé, limiter la saisie dans un textbox à la taille physique de c
Limiter nombre de charactere saisie textbox via bouton [ par olobo ]
Bonjour!Voila j'ai un petit soucis j'aimerais limiter la saisie dans une TextBox a 4 charatère la commande est donc TxtBox.MaxLength = 4 Cependant ce
Controler l'entrée des décimals dans un textbox en vb 2008 express [ par fadan ]
Bonjour le forum.Je viens de découvrir, VB 2008 express.Et étant débutant en programation, je cale sur le contrôle de saisies dans un textBox.En effet
verifier la saisie numerique dans un textbox [ par freeman151248 ]
bonjour,j ai lu pas mal de chose sur le sujet et je n'est pas bien compris quelle était la meilleur méthode pour verifier que la saisie d'un textbox e
pb avec Textbox [ par ngalino ]
bonjour,j'ai un formulaire sur vb auquel j'ai associé plusieurs contrôles notamment les zones de saisie (textbox). mais je suis confronté à une diffic
associer affichage listbox avec saisie dans textbox => possible ? [ par Tyrell2 ]
bonjour,mon défis du jour : j'ai une listbox dans laquelle j'affiche la liste des ordinateurs du domaine (presque un millier quand meme)et j'ai aussi
forcer la saisie dans un textbox d'une manière particulière [ par nasilo ]
Bonjour,Je débute et j'ai crée un userform me permettant de remplir une base de données sous excel. Comment faire pour "obliger" la saisie dans un tex
Inserer la fonction de recherche dans une textbox + saisie semi automatique des mots entrés ds la textbox. [ par arnaud95000 ]
Bonjour, afin de finaliser un projet et de le rendre agrèable à l'utlisateur, j'aimerai faire une textbox qui permette d'une part de selectionner les
Masque de Saisie HEURE [ par alias666 ]
Bonjour à tous !Après une recherche assez floue sur le site Code Source et MSDN, je décide de me tourner vers vous. J'ai une saisie à faire dans un te
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|