Comment empêcher un contrôle Winforms d'écouter le clavier
Question
Pour un certain format d’entrée, j'aimerais pouvoir effectuer une saisie avec le clavier. Je sais comment lire les clés via KeyPressed et KeyUp, mais le problème est que lorsqu'un contrôle est activé et que l'utilisateur appuie sur la touche Entrée, ce contrôle reçoit l'événement Click. Est-il possible d'empêcher ce comportement? Ou est-il possible de savoir si un événement Click a été déclenché par la souris ou par le clavier?
La solution
Est-ce que cela vous aide? À partir de base de connaissances Microsoft
.Déplacez le code du bouton du bouton.Cliquez sur () vers un bouton.MouseClick ()
Autres conseils
Cela serait plus facile si vous pouviez décrire la situation et le comportement exact que vous souhaitez ...:)
Vous pouvez définir:
Form.KeyPreview = True
Ceci envoie d’abord les événements clés au formulaire, puis au contrôle. Cela vous donne la possibilité d’acquérir des événements clés sur le formulaire et de les «annuler»:
e.Handled = True
Assurez-vous également que vous n'avez pas défini le bouton AcceptButton pour le formulaire!
Vous pouvez également écouter les événements du clavier et filtrer les touches.