Evènement KeyPress avec touche Entrée

Résolu
VbNicoG Messages postés 127 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 septembre 2019 - 20 oct. 2008 à 09:52
cs_penda Messages postés 2 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 1 juillet 2009 - 1 juil. 2009 à 23:59
Bonjour à tous,

J'ai un petit soucis avec l'évènement KeyPressed d'une form.
A ma première entrée dans cette forme, sur la touche Entrée, l'évènement se déclenche correctement. Je sors de cette forme "en la cachant sans la dispose", quand je re-rentre dans ma forme, l'évènement fonctionne toujours sur toutes mes touches exceptée sur la touche qui m'intéresse c'est à dire la touche Entrée.

Y a t-il une raison particulière pour que l'évènement ne fonctionne plus avec la touche Entrée ?

Merci à tous

6 réponses

jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
20 oct. 2008 à 10:04
Bonjour,

la touche entrée a une signification particulière et est interprêtée priorotairement par certains contrôles (un bouton de commande, entre autres...)
Si donc ton focus est sur l'un de CES contrôles, ta Form n'interprête pas la touche ENTER
3
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
20 oct. 2008 à 11:31
"Est ce que cela veut dire qu'aucun contrôle n'a le focus au démarrage ?"
ou simplement parce que le contrôle ayant le focus à ce moment là n'est pas de ceux qui interceptent prioritairement la touche ENTER
ce sera par exemple le cas avec une picturebox
3
VbNicoG Messages postés 127 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 septembre 2019
20 oct. 2008 à 10:16
Bonjour Jmfmarques,

D'accord je comprends, je vais faire autrement et utiliser le focus.

Par contre, je n'arrive pas à comprendre, pourquoi cela fonctionne lors de ma première venue sur la form? Est ce que cela veut dire qu'aucun contrôle n'a le focus au démarrage ?

Merci
0
Sehnsucht Messages postés 107 Date d'inscription samedi 25 novembre 2000 Statut Membre Dernière intervention 4 mai 2013
20 oct. 2008 à 17:14
Sinon il me semble également qu'il y a une propriété de la form (KeyPreview si je me rappelle bien) qui permet d'intercepter les évènements KeyPress des controles de la form
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
VbNicoG Messages postés 127 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 septembre 2019
22 oct. 2008 à 09:08
Salut Sehnsucht,

Même en mettant Keypreview à true dans ma form, l'évènement n'est intercepté sur la touche Entrée qu'à la première visiblité de mon Usercontrol. Lorsque j'affiche un autre Usercontrol puis que je reviens sur le Usercontrol qui m'intéresse, la touche Entrée n'est plus interceptée (les autres oui)...et ce malgré le Keypreview à true et aucun focus n'est forcé....
Du coup, je n'arrive pas à utiliser l'évènement KeyDown pour la touche Entrée, je suis obligé d'utiliser le focus et ce n'est pas le plus pratique pour moi.

Si quelqu'un a mieux ou comprends mon la cause de mon soucis, je suis preneur.

Merci
0
cs_penda Messages postés 2 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 1 juillet 2009
1 juil. 2009 à 23:59
Salut,

Aime-tu

'Fonction pour detecter la touche du clavier
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean

CancelPressed keyData Keys.Escape

Select Case keyData

Case Keys.Enter

Case Keys.Shift


Case Keys.F1

Case Keys.F2


Case Keys.F4


Case Keys.F3


Case Keys.Escape


End Select
End Function
0