Bonjour
j'aimerai que dans mon sub text_reponse se trouve une condition qui indique que si l'utilisateur tape change ou changer puis enfonce la touché entrée pour valider la condition et passer au then, voilà est ce que quelqu'un connait une commande pour le faire?
Private Sub txt_reponse_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_reponse.TextChanged
If (Me.txt_reponse.Text "change") Or (Me.txt_reponse.Text "changer") Or (Me.txt_reponse.Text = "Change") Or (Me.txt_reponse.Text = "Changer") Then Call changement()
If (Me.txt_reponse.Text "exit") Or (Me.txt_reponse.Text "quitter") Then Call arret()
End Sub
Bonsoir PTuner.
Voici un petit bout de code dont vous pourriez peut-être vous inspirer,
Public Class Acceuil
Private Sub tBox_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tBox.KeyDown
If tBox.Text "Coucou" And e.KeyValue 13 Then tBox.Text = "" : MessageBox.Show("Salut")
End Sub
End Class
Le gros problème que je vois dans son approche, c'est qu'il n'a rien mis pour se protéger des doigts baladeurs qui finissent tôt ou tard par produire des affaires du genre "CoUCOU", "CoucoU", "CoUcOu" et toutes les variations possibles. Et, lui, veut tester, avec ses deux lignes au moins quatre mots.
Le minimum qu'il devrait faire, serait de prendre son mot complet et de le mettre tout en majuscules (String.ToUpper), ou tout en minuscules (String.ToLower) avant de faire son test, et d'adapter son test en "COUCOU" ou en "coucou". Et encore là, il n'a rien pour traiter "Coucous", "Cocus", "Cocuous", "Concous", "Couscous" et toutes le fautes de frappe imaginables. À mon humble avis, si il veut absolument utiliser cette méthode, il n'est pas sorti du bois.
Private Sub txt_reponse_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_reponse.TextChanged
If txt_reponse.Text.ToUpper.Contains("CHANG") Then changement()
If txt_reponse.Text.ToUpper.Contains("EXIT") Or txt_reponse.Text.ToUpper.Contains("QUITTER") Then arret()
End Sub
Pourquoi, dans ce cas, ne pas avoir exploité la piste de Zermelo?
Private Sub txt_reponse_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txt_reponse.KeyUp
If txt_reponse.Text.ToUpper.Contains("CHANGE") And e.KeyCode = 13 Then changement()
If txt_reponse.Text.ToUpper.Contains("EXIT") Or txt_reponse.Text.ToUpper.Contains("QUITTER") And e.KeyCode = 13 Then arret()
End Sub
À première vue, l'événement TextChanged n'est probablement pas le plus indiqué, parce que TextChanged est déclenché chaque fois que tu entres un caractère. Pour ce que mon avis peut valoir; au lieu de prendre un textbox je prendrais deux RadioButtons sur un panel ou un frame. Comme de toutes façons tu va avoir obligatoirement un bouton à true et un à False et si tu cliques sur un, l'autre va changer automatiquement au besoin. Comme cela, pas besoin de faire attention à la casse de ce que tu écrirais dans un TextBox.
je vois ce que tu veux dire cmarcotte mais mon programme n'est pas prévu pour des doigts "baladeurs" enfin bon s'il existe une solution pour contourner cette "faille" je suis preneur, autre chose le code de Zermelo n'est pas correctement déclaré dans le sub qu'il a donné en fait l'écoute(handless) tbox requiert un variable with events qui n'est apparemment pas déclaré.
Bonjour PTuner.
J'ai bien précisé qu'il s'agit d'un petit bout de code dont vous pourriez peut-être vous inspirer. Ce qui signifie que vous pourriez l'adapter à vos besoins. Je ne vous ai pas donné une solution, cela ne serait pas conforme au règlement de ce forum. Je vous ai suggéré une piste.
Private Sub txt_reponse_TextChanged(ByVal sender As System.Object, ByVal e As Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If txt_reponse.Text.ToUpper.Contains("CHANGE") And e.KeyCode = Keys.Enter Then changement()
If txt_reponse.Text.ToUpper.Contains("EXIT") And e.KeyCode Keys.Enter Or txt_reponse.Text.ToUpper.Contains("QUITTER") And e.KeyCode Keys.Enter Then arret()
End Sub
1) As-tu au moins compris le code? (car sur ce forum c'est le but)
As-tu compris ce que c'est "ToUpper" et "Contains"?
2) Si la réponse te convient pourquoi pas libérer la discussion et cocher "réponse acceptée" afin que les autre utilisateurs sachent qu'il y a une ou des bonne(s) réponse(s) à ta question?
toupper = le plus haut(Retourne une copie de cette chaîne convertie en majuscules)contains = contient
non je viens de relire l'erreur ce n'est pas toupper qui pose problème
voici le problème:
Error 1 Method 'Public Sub txt_reponse_TextChanged(sender As Object, e As System.Windows.Forms.KeyEventArgs)' cannot handle event 'Public Event KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs)' because they do not have a compatible signature. C:\Users\Pierre\Documents\Visual Studio 2010\Projects\Testwindows\Testwindows\Form1.vb 29 121 Testwindows
en fait pour moi ça fait
If txt_reponse.Text.ToUpper.Contains("CHANGE") And e.KeyCode = Keys.Enter Then changement()
si txt_reponse contient le texte CHANGE et qu'on appuie sur entrée alors il appelle le sub changement