Как запретить элементу управления Winforms прослушивать клавиатуру

StackOverflow https://stackoverflow.com/questions/313737

Вопрос

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

Это было полезно?

Решение

Это помогает? Из базы знаний Майкрософт

  

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

Другие советы

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

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

Form.KeyPreview = True

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

e.Handled = True

Дополнительная информация

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top