VB.net empêcher saisie de caractères dans tbx
Résolu
WarT
Messages postés
67
Date d'inscription
Statut
Membre
Dernière intervention
-
WarT Messages postés 67 Date d'inscription Statut Membre Dernière intervention -
WarT Messages postés 67 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Sur un programme, je souhaite effectuer des contrôles de saisie sur des textbox, afin que seul des caractères numériques, ou alphabétiques puissent y être tapé.
J'ai trouvé cette solution qui marche plutôt bien :
Cela marche car seul des chiffres peuvent être entré dans la textbox , mais la "backspace" ne fonctionne pas, le seul moyen de supprimer les données reste la touche "suppr".
Je trouve cela plutôt gênant, c'est pourquoi je voulais savoir si l'un d'entre vous avait une solution à ce problème.
Merci d'avance =)
WarT
Sur un programme, je souhaite effectuer des contrôles de saisie sur des textbox, afin que seul des caractères numériques, ou alphabétiques puissent y être tapé.
J'ai trouvé cette solution qui marche plutôt bien :
Private Sub tbx_annee_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tbx_annee.KeyPress If IsNumeric(e.KeyChar) Then e.Handled = False Else e.Handled = True End If End Sub
Cela marche car seul des chiffres peuvent être entré dans la textbox , mais la "backspace" ne fonctionne pas, le seul moyen de supprimer les données reste la touche "suppr".
Je trouve cela plutôt gênant, c'est pourquoi je voulais savoir si l'un d'entre vous avait une solution à ce problème.
Merci d'avance =)
WarT
A voir également:
- VB.net empêcher saisie de caractères dans tbx
- Saisie gestuelle iphone - Guide
- Caractères spéciaux - Guide
- Caractères ascii - Guide
- Saisie vocale whatsapp - Accueil - Messagerie instantanée
- Saisie vocale sms - Guide
2 réponses
Bonjour,
On peu tester le code mais apparement il y a un bug dans VB, quand ont tape 1 à partir du clavier numérique le code renvoyer est celui de la lettre "a"
Pour contourner le problème...
Avec ça pas besoin du retour arrière (en français c'est mieux)
A+
On peu tester le code mais apparement il y a un bug dans VB, quand ont tape 1 à partir du clavier numérique le code renvoyer est celui de la lettre "a"
Pour contourner le problème...
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown Dim C As String = Chr(e.KeyValue) Dim B As String = Chr(e.KeyCode - 48) If Not (IsNumeric(C) Or IsNumeric(B)) Then e.SuppressKeyPress = True Beep() End If End Sub
Avec ça pas besoin du retour arrière (en français c'est mieux)
A+