IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Vérifier le caractère inscrit dans une textbox


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 128
    Par défaut Vérifier le caractère inscrit dans une textbox
    Bonjour,
    J'aimerais savoir comment vérifier, au moment où je tape dans une textbox, que le caractère entré est un "-" ou un "+".
    Merci

  2. #2
    Membre émérite
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Par défaut
    Bonjour,

    Il faut que tu implémentes l'évènement TextChanged sur ton TextBox et que tu fasses tes tests dedans.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 17
    Par défaut
    Bonjour,

    Pour commencer, il faut soit:

    1) Ecouter l'évènement TextChanged (si ta TextBox a été déclarée WithEvent - ce qui est le cas par défaut dans le concepteur de forms de Visual Studio).
    Auquel cas tu peux utiliser ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    End Sub
    2) Ou placer un écouteur (Handler) sur ta TextBox si tu l'as déclarée manuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddHandler TextBox1.TextChanged, AddressOf MyTextBoxTextChanged
    Puis créer la méthode delegate suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub MyTextBoxTextChanged(ByVal sender As Object, ByVal e As EventArgs)
    End Sub

    Ensuite, à l'intérieur d'une des deux méthodes (TextBox1_TextChanged ou MyTextBoxTextChanged), tu effectue un test sur le dernier caractère entré dans la TextBox, c.à.d le dernier caractère de la propriété text de TextBox.

    Moi j'aurais fait comme suit (code à placer dans le corps d'une des deux méthodes précédentes):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Dim myText As String = CType(sender, TextBox).Text  ' Caste l'objet en TextBox et récupère la propriété text
     
    If Not String.IsNullOrEmpty(myText) Then    ' Si la chaine est non vide
        Dim lastInput As String = myText.Substring(myText.Length - 1)   ' Récupére le dernier caractère de la chaine
        Select Case lastInput   ' switch sur le dernier caractère
            Case "+"
                Debug.WriteLine("Touche +") ' Ton traitement lors d'un appui sur +
                Exit Select
            Case "-"
                Debug.WriteLine("Touche -") ' Ton traitement lors d'un appui sur -
                Exit Select
            Case Else
                Debug.WriteLine("Touche différente de + ou -")
        End Select
    End If

  4. #4
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Citation Envoyé par Furior Voir le message
    tu effectue un test sur le dernier caractère entré dans la TextBox, c.à.d le dernier caractère de la propriété text de TextBox.
    Rien ne permet d'assurer cette affirmation ; en effet, rien n'empêche l'utilisateur, de déplacer le curseur dans la TextBox n'importe (en début, ou entre 2 caractères) avant d'insérer un caractère, ce qui lèvera tout autant l'évènement TextChanged bien que ce ne soit pas le dernier caractère de la TextBox qui l'ait "engendré".

    Il vaudrait peut-être mieux utiliser un évènement de type KeyXXX (KeyPress ou KeyDown par exemple) ou peut-être utiliser un MaskedTextBox qui permet de spécifier un format attendu voire valider le contenu entier de la TextBox via une expression régulière ...
    Bref plusieurs options possibles, l'idéal étant tout de même que l'on connaisse le but exact de tout ceci, ce qui permettrait, le cas échant, de spécifier une réponse différente du cadre de la question initiale, mais répondant plus justement à la problématique sous-jacente.

    Cordialement !

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 128
    Par défaut Merci à tous
    J'ai réussi en trouvant un autre code sur internet et en cherchant un peu en moi. Et j'ai trouvé. Merci encore
    Thomas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Empêcher la saisie de caractère spéciaux dans une textbox
    Par jyves47 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 05/02/2014, 20h00
  2. Problème de caractères accentués dans une textbox
    Par Dje33510 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/02/2009, 09h34
  3. Convertir une chaîne de caractère (saisie dans un textbox) en décimal
    Par sab_etudianteBTS dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/09/2007, 21h17
  4. 255 Caractères et plus dans une textbox !
    Par phsouchal dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 07/08/2007, 15h18
  5. Réponses: 5
    Dernier message: 26/12/2005, 19h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo