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
Version imprimable
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
Bonjour,
Il faut que tu implémentes l'évènement TextChanged sur ton TextBox et que tu fasses tes tests dedans.
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 :2) Ou placer un écouteur (Handler) sur ta TextBox si tu l'as déclarée manuellement :Code:
1
2 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged End Sub
Puis créer la méthode delegate suivante:Code:AddHandler TextBox1.TextChanged, AddressOf MyTextBoxTextChanged
Code:
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:
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
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 !
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