Valider TextBox [Résolu]

Messages postés
109
Date d'inscription
lundi 27 juin 2005
Dernière intervention
17 juillet 2007
- 12 mai 2006 à 17:33 - Dernière réponse :
Messages postés
24
Date d'inscription
jeudi 21 février 2008
Dernière intervention
12 juillet 2010
- 9 juil. 2009 à 23:10
Salut à tous,

Voila je voudrais valider mon textBox quand je tape sur "ENTER" au lieu de devoir cliquer sur le bouton rechercher de mon application .... Mais je ne sais pas comment faire !

Merci de m'aider
Afficher la suite 

17 réponses

Meilleure réponse
Messages postés
402
Date d'inscription
jeudi 26 août 2004
Dernière intervention
19 juin 2009
- 13 mai 2006 à 01:48
3
Merci
Reprend ce que t'as dit jack a une différance pres : remplace <strike>keypress</strike> par keydown !! et non pas<strike> keyup</strike> (keyup qui est bien du vb6)



En effet : il y exsiste trois commandes :

une qui réagit quand tu arretes de presser la touche (keyup)

une qui réagit quand tu es en train d'appuyer sur la touche (keypress)

une qyu réagit quand tu appuyes sur la touche.(keydown)



Soit dans l'ordre chronologique KeyDown >> KeyPress >> KeyUp



Il faut aussi savoir que le fameux BIP de windows réagit au moment de la commande keypress .

Donc il faut pouvoir détécté la pression de la touche avant windows,
executer son code et enfin faire croire à windows qu'il ne c'est rien
passé soit :



(KeyDown comme ces deux soeur est un evenement qui s'affiche de la même
facon que Form_Load ou même Command1_Click : un double clic sur l
composant TEXTBOX puis dans le menu déroulant en haut a droite tu
séléction [KEYDOWN] )



(Code compatible VB4,5,6)(Code incompatible VB.NET !!)

Private Sub Text1_KeyDown (KeyCode As Integer)

If KeyCode = 13 Then '13 est le retour chariot (ENTER)

monBouton_Click 'La fonction que tu executes

KeyCode = 0 'Et la tu fait croirea windows


'qu' aucune touche n'est préssé


'et comme ca pas de beep

End If

End Sub



Voila. donc jack, dsl mais tu n'avais pas raison cette fois ci!



PS:Profite bien de cette reponce, rare sont les fois ou je suis aussi soigné !

Merci cs_nico1610 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 12 mai 2006 à 18:12
0
Merci
Salut
Classique :
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
monBouton_Click
' Evite le beep
KeyAscii = 0
End If
End Sub

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'accro
Messages postés
109
Date d'inscription
lundi 27 juin 2005
Dernière intervention
17 juillet 2007
- 12 mai 2006 à 18:18
0
Merci
Ca ne fonctionne pas, quand je pousse enter j'ai un Beep.

merci quand même
Messages postés
135
Date d'inscription
vendredi 4 juin 2004
Dernière intervention
14 février 2013
- 12 mai 2006 à 18:29
0
Merci
Dans les propriétés default = true
Ou en code textbox.default = true

Jer
Messages postés
109
Date d'inscription
lundi 27 juin 2005
Dernière intervention
17 juillet 2007
- 12 mai 2006 à 18:31
0
Merci
la propriété default n'existe pas pour un textbox
Messages postés
246
Date d'inscription
mercredi 13 avril 2005
Dernière intervention
21 octobre 2013
- 12 mai 2006 à 18:46
0
Merci
On peut essayer ça :

Crée un évenement KeyUp sur ton Textbox

et place le code :

if e.keycode = Keys.Enter then

'ici ton code

End if

Sa te donne sa :

Private Sub TextBox1_KeyUp(ByVal sender As System.Object, Byval e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp

if e.keycode = Keys.Enter then

'ici ton code

End if

End sub

Voilà !
Messages postés
109
Date d'inscription
lundi 27 juin 2005
Dernière intervention
17 juillet 2007
- 12 mai 2006 à 18:51
0
Merci
Private Sub txtRechercher_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
pctRecherche_Click
End If
End Sub

Merci ,Voila le code du dessus fonctionne.

Mais j'ai un Beep y'a t'il moyen de l'enlever ???
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 12 mai 2006 à 19:14
0
Merci
... C'est du VB6 ou du .Net (j'en ai marre de poser cette question ....)
JB76000 m'a fait penser à ceci :
Si, dans ta forme, un des boutons Command a la propriété Default à True, l'évènement TextBox_KeyPress ne se déclenche pas.
Si la forme elle même a la propriété KeyPreview a True, elle verra le KeyPress avant les autres composants.
--> Lire l'aide de VB, tout y est expliqué

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'accro
Messages postés
109
Date d'inscription
lundi 27 juin 2005
Dernière intervention
17 juillet 2007
- 12 mai 2006 à 19:18
0
Merci
c'est du VB6 et je n'ai pas de command avec la propriété default = true sur ma form
Messages postés
246
Date d'inscription
mercredi 13 avril 2005
Dernière intervention
21 octobre 2013
- 12 mai 2006 à 19:32
0
Merci
Ok et pas non plus de KeyUP ==> .NET
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 13 mai 2006 à 00:33
0
Merci
Désolé, mais en VB6, le code que je t'ai mis fonctionne très bien.
J'espère que tu as mondifié le nom des objets ... Text1 et monBouton
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 13 mai 2006 à 04:43
0
Merci
lol, si j'ai raison et, Nico, en VB6, "KeyCode = 0" ne fonctionne pas ! Il génère quand même le beep.

La fonctionnalité de détection du vbKeyReturn dans le KeyPress fonctionne, c'est garanti.
Le KeyAscii = 0 pour éviter le Beep fonctionne, c'est garanti aussi
Franchement, je ne vois pas où est le problème ...

Pour en revenir aux KeyDown et KeyUp :
Ces évènements renvoient un KeyCode, pas un KeyAscii : La grosse différence est que KeyCode renvoie la touche (matérielle) clavier pressée.
Avantage : Elles voient toutes les touches de fonction.
Inconvénient 1 : si on appuie sur "a", le KeyCode renvoie de code ascii de "A" (et pas "a")
Inconvénient 2 : Un "KeyCode = 0" ne fonctionne pas et génère un Beep

Le KeyPress est donc plus indiqué, mais vous faites bien comme vous le voulez ...

Vala
Jack, MVP VB
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'accro
Messages postés
402
Date d'inscription
jeudi 26 août 2004
Dernière intervention
19 juin 2009
- 13 mai 2006 à 10:02
0
Merci
merci pour cette précision jack ....
Bizzard mais chez moi le KeyCode=0 fonctionne !

Enfin, avec tout ca MOI4... va pouvoir faire ces propre test et voir ce qui marche le mieux pour lui !
Messages postés
246
Date d'inscription
mercredi 13 avril 2005
Dernière intervention
21 octobre 2013
- 13 mai 2006 à 14:20
0
Merci
Je suis sous .NET et mon KeyUP fonctionne très bien ! Et c'est aussi du vb6.. mais sa je savais pas !
Messages postés
109
Date d'inscription
lundi 27 juin 2005
Dernière intervention
17 juillet 2007
- 13 mai 2006 à 19:25
0
Merci
Merci à tout les deux mais après avoir essayer toute vos idées c'est finalement le KeyPress qui fonctionne le mieux (sans Beep) le keydown marche aussi mais j'ai toujours un Beep
Messages postés
402
Date d'inscription
jeudi 26 août 2004
Dernière intervention
19 juin 2009
- 13 mai 2006 à 21:13
0
Merci
ok ... Jack avait raison ...
Sans rancune aucune Jack! ;)
Messages postés
24
Date d'inscription
jeudi 21 février 2008
Dernière intervention
12 juillet 2010
- 9 juil. 2009 à 23:10
0
Merci
salut !!
j'ai besoin  du code de l'événement enter qui effectue la recherche sur un textbox sans cliqué sur un bouton en vb.net 2008 !!!
et merci d'avance !!
cordialement !!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.