В настоящее время я работаю над простой игрой, которая рисуется на форме путем переопределения метода OnPaint
.Игра требовала ввода с клавиатуры и работала отлично, пока я не решил улучшить графический интерфейс и добавить несколько кнопок в форму.
В момент добавления этих кнопок форма перестала получать любой ввод с клавиатуры, как бы трудноЯ старался, чтобы фокус всегда был на кнопках.Это поведение может быть воспроизведено путем размещения любого Фокусируемого элемента управления в форме.(т.е. TextBox)
Мне не нужно ЛЮБОЕ взаимодействие с Kayboard с этими кнопками, я хочу, чтобы пользователь взаимодействовал с ними только с помощью мыши.
I 'Мы попробовали следующие методы, чтобы попытаться обойти эту проблему - ни один из них не работал:
- 1) Обычные
KeyDown
и KeyUp
события формы.(Так я записывал ввод с клавиатуры перед размещением кнопок.) - 2) Переопределение форм
OnKeyDown
и OnKeyUp
событий. - 3) Переопределение
ProcessCmdKey
- Работает , но не может различить события KeyUp и KeyDown, поэтому мне это не подходит.
Я также пытался создать MessageFilter для приложения, но не смог заставить егозахватывайте только те клавиши клавиатуры, которые мне были нужны.
Я изучал это уже много часов и не могу найти подходящего решения.Помощь будет принята с благодарностью.