Как запретить элементу управления Winforms прослушивать клавиатуру - PullRequest
2 голосов
/ 24 ноября 2008

Для определенной формы ввода я хотел бы сделать возможным ввод с клавиатуры. Я знаю, как читать ключи с помощью KeyPressed и KeyUp, но проблема в том, что когда элемент управления получает фокус и пользователь нажимает клавишу Enter, этот элемент управления получает событие Click. Можно ли предотвратить такое поведение? Или можно узнать, было ли событие клика запущено мышью или клавиатурой?

Ответы [ 3 ]

2 голосов
/ 24 ноября 2008

Было бы проще, если бы вы могли описать ситуацию и точное поведение, которое вы хотите ...:)

Вы можете установить:

Form.KeyPreview = True

Это отправляет ключевые события сначала в форму, а затем в элемент управления. Это дает вам возможность отлавливать ключевые события в форме и «отменять» их:

e.Handled = True

Подробнее

Также убедитесь, что вы не установили AcceptButton для формы!

2 голосов
/ 24 ноября 2008

Это помогает? Из База знаний Microsoft

Переместите код кнопки с кнопки. Нажмите () на кнопку. Мышь ()

0 голосов
/ 24 ноября 2008

Вы также можете прослушивать события клавиатуры и отфильтровывать клавиши.

...