Evènement KeyPress avec touche Entrée [Résolu]

Messages postés
120
Date d'inscription
vendredi 27 juin 2008
Dernière intervention
24 août 2018
- - Dernière réponse : cs_penda
Messages postés
2
Date d'inscription
mardi 8 juin 2004
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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 99 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
3
Merci
"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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 99 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jmfmarques
Messages postés
120
Date d'inscription
vendredi 27 juin 2008
Dernière intervention
24 août 2018
0
Merci
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
Commenter la réponse de VbNicoG
Messages postés
107
Date d'inscription
samedi 25 novembre 2000
Dernière intervention
4 mai 2013
0
Merci
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
Commenter la réponse de Sehnsucht
Messages postés
120
Date d'inscription
vendredi 27 juin 2008
Dernière intervention
24 août 2018
0
Merci
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
Commenter la réponse de VbNicoG
Messages postés
2
Date d'inscription
mardi 8 juin 2004
Dernière intervention
1 juillet 2009
0
Merci
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
Commenter la réponse de cs_penda

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.