sas
-
6 janv. 2001 à 16:18
Hystic
Messages postés10Date d'inscriptionvendredi 6 juin 2008StatutMembreDernière intervention 7 juin 2014
-
1 juil. 2008 à 10:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Hystic
Messages postés10Date d'inscriptionvendredi 6 juin 2008StatutMembreDernière intervention 7 juin 2014 1 juil. 2008 à 10:17
Pourquoi faire simple quand on peut faire compliqué c'est ça ?
Je ne comprends pas vôtre obstination ...
Il y a une solution simple et claire donnée qui marche
Enfin voilà ;-)
manulegosny
Messages postés18Date d'inscriptionjeudi 30 mars 2006StatutMembreDernière intervention 4 janvier 2009 20 avril 2007 à 21:56
Je me réponds (désolé, hein !)
KeyDown survient quand on appuie sur le touche.
KeyPress quand la touche est enfoncée.
KeyUp quand on relâche la touche.
Ils surviennent dans cet ordre.
KeyPress permet de récupérer la touche tapée dans e.KeyChar (mais pas F1, F2..)
KeyDown et KeyUp permettent aussi de voir si MAJ ALT CTRL ont été pressés.
On peut récupérer la touche pressée (dans e.KeyChar), mais impossible d'en modifier la valeur en VB 2003(e.KeyChar est en lecture seule), par contre en VB 2005 , on peut modifier e.KeyChar.
Merci P.Lasserre pour l'astuce. Chez moi, keychar n'existe pas, mais le keycode, oui. Le tour est joué.
manulegosny
Messages postés18Date d'inscriptionjeudi 30 mars 2006StatutMembreDernière intervention 4 janvier 2009 20 avril 2007 à 21:49
Hello
L'exemple fourni par antony ne fonctionne pas chez moi car :
Ma fonction créée sur l'évenement keydown donne l'entête suivante :
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
Comment et où récupérer la valeur de la touche tapée ?
PS : pardon pour mon niveau, je débute !
guiles78
Messages postés3Date d'inscriptionmardi 11 octobre 2005StatutMembreDernière intervention 8 février 2007 8 févr. 2007 à 14:26
Ah oui excellent!!!
Il est vrai que dans la grande majorité des cas cela suffit amplement.
Néanmoins, il me semble que dans le cas d'une forme un peu complexe avec plusieurs frames comme un système d'onglet, il peut être nécessaire d'utiliser l'évènement KeyDown pour préciser quel contrôle activer s'il y en a plusieurs.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 8 févr. 2007 à 12:46
Le plus simple et le plus efficace, consiste simplement à mettre la propriété Default du bouton de commande désiré à True.
idem avec la propriété Cancel, pour que le bouton réagisse a la touche ESCAPE
guiles78
Messages postés3Date d'inscriptionmardi 11 octobre 2005StatutMembreDernière intervention 8 février 2007 8 févr. 2007 à 11:24
ah ouai petite précision c'est pas vbkeyenter (ca n'existe pas), mais vbKeyReturn (en tout cas sous VB6)
guiles78
Messages postés3Date d'inscriptionmardi 11 octobre 2005StatutMembreDernière intervention 8 février 2007 8 févr. 2007 à 11:00
Parfaitement ce que je voulais trouver.
Merci à vous, et en effet je préfère celui d'Antony ^^
cs_Antony
Messages postés83Date d'inscriptionmardi 30 juillet 2002StatutMembreDernière intervention13 février 2008 2 nov. 2003 à 01:46
euh oui il y a plus simple quand meme :
Private Sub TextAEnvoyer_KeyDown(KeyCode As Integer, Shift As Integer)
If keycode = vbkeyenter then
action a faire
End If
End Sub
1 juil. 2008 à 10:17
Je ne comprends pas vôtre obstination ...
Il y a une solution simple et claire donnée qui marche
Enfin voilà ;-)
20 avril 2007 à 21:56
KeyDown survient quand on appuie sur le touche.
KeyPress quand la touche est enfoncée.
KeyUp quand on relâche la touche.
Ils surviennent dans cet ordre.
KeyPress permet de récupérer la touche tapée dans e.KeyChar (mais pas F1, F2..)
KeyDown et KeyUp permettent aussi de voir si MAJ ALT CTRL ont été pressés.
On peut récupérer la touche pressée (dans e.KeyChar), mais impossible d'en modifier la valeur en VB 2003(e.KeyChar est en lecture seule), par contre en VB 2005 , on peut modifier e.KeyChar.
http://plasserre.developpez.com/v3-4.htm
Merci P.Lasserre pour l'astuce. Chez moi, keychar n'existe pas, mais le keycode, oui. Le tour est joué.
20 avril 2007 à 21:49
L'exemple fourni par antony ne fonctionne pas chez moi car :
Ma fonction créée sur l'évenement keydown donne l'entête suivante :
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
Comment et où récupérer la valeur de la touche tapée ?
PS : pardon pour mon niveau, je débute !
8 févr. 2007 à 14:26
Il est vrai que dans la grande majorité des cas cela suffit amplement.
Néanmoins, il me semble que dans le cas d'une forme un peu complexe avec plusieurs frames comme un système d'onglet, il peut être nécessaire d'utiliser l'évènement KeyDown pour préciser quel contrôle activer s'il y en a plusieurs.
8 févr. 2007 à 12:46
idem avec la propriété Cancel, pour que le bouton réagisse a la touche ESCAPE
8 févr. 2007 à 11:24
8 févr. 2007 à 11:00
Merci à vous, et en effet je préfère celui d'Antony ^^
2 nov. 2003 à 01:46
Private Sub TextAEnvoyer_KeyDown(KeyCode As Integer, Shift As Integer)
If keycode = vbkeyenter then
action a faire
End If
End Sub
:p
6 janv. 2001 à 16:18