cs_snake57
Messages postés204Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention 1 novembre 2011
-
21 sept. 2006 à 23:35
cs_snake57
Messages postés204Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention 1 novembre 2011
-
22 sept. 2006 à 14:57
Bonjour,
Je voudrais surveiller un textbox. Des que l'utilisateur a fini d'écrire j'analyse le contenu du textbox et ensuite je l'éfface.
Le problème c'est que je ne sais pas comment faire pour déclencher un évènement sur la dernière lettre pressée. En utilisant les évènements text1_change, text1_keydown, text1_keypres ou text1_keyup c'est la première lettre qui est détecté et pas la dernière.
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 22 sept. 2006 à 09:49
Salut,
Private Sub Text1_Change()
' On arrête le précédent Timer
Timer1.Enabled = False
' Et on le relance
' Peut-être est-il utile de refaire un Timer1.Value = 0 ici ... sait plus et pas pu tester
Timer1.Enabled = True
End Sub
Ainsi, dès que tu as tapé un lettre, le timer se met en route, et il est interrompu et réinitialisé dès que tu retapes une nouvelle lettre.
Ensuite :
Private Sub Timer1_Timer()
If Timer1.Value = 2000 Then
' Au bout de 2 secondes d'inactivité,
sValeurEntree = Text1.Text
' faire quelque chose ... avec ce texte
' et l'effacer
Text1.Text = ""
End If
End Sub
Manu --------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Dolphin Boy
Messages postés630Date d'inscriptionvendredi 5 mai 2006StatutMembreDernière intervention17 février 2007 21 sept. 2006 à 23:48
Salut, le problème est : comment savoir si la lettre pressée est la dernière ?Essaie avec les évènements LostFocus ou Validate en prenant right$(text1.text,1) qui te donnera la dernière lettre de la saisie dans text1.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 21 sept. 2006 à 23:51
Salut
Fin de saisie : C'est quoi ? une longueur prévue d'avance ou quand l'utilisateur sort du control ?
Si c'est lngr fixe, suffit de compter : Len(monTextBox.Text)
Si c'est quand il sort du control, suffit de faire ton test dans l'évènement monTextBox_Validate
Première lettre, dernière lettre : Avec si peu d'explication, difficile de t'aider !
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_snake57
Messages postés204Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention 1 novembre 2011 22 sept. 2006 à 00:11
Non j'ai du mal m'expliquer...
En fait l'utilisateur ne fait qu'écrire dans le textbox. La longueur du texte est variable et il ne sort jamais du controle.
Il ne fait qu'écrire ce qu'il veux et lorsqu'il a fini il arrète d'écrire sans sortir du controle.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bonjour
Essaie ceci
Le caractère de fin de saisie est le retour chariot dans ce cas ( touche Enter du clavier). Il faut bien que l'on sache quand l'utilisateur a terminé sa frappe.
Private sub Texte_Keypress (Keyascii as Integer)
If Keyascii <> 13 then Exit sub
' déclenchement du timer : texte.text contient les caractères frappés au clavier