2008-11-24 19 views
2

Pour une certaine forme d'entrée, je voudrais permettre de faire 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 a le focus et que l'utilisateur appuie sur la touche Entrée, ce contrôle reçoit l'événement a 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?Comment empêcher un contrôle Winforms d'écouter le clavier

Répondre

0

du button.Click() à un button.MouseClick() le code du bouton Vous pouvez également écouter les événements de clavier et filtrer les clés.

2

Ce serait plus facile si vous pouviez décrire la situation et le comportement exact que vous voulez ... :)

Vous pouvez définir:

Form.KeyPreview = True 

Cela envoie des événements clés au formulaire d'abord, puis au contrôle. Cela vous donne la possibilité de capturer des événements clés sur la forme et « annuler » les:

e.Handled = True 

More info

Assurez-vous également que vous avez pas réglé la AcceptButton pour le formulaire!