Проблемы с событиями KeyPress, KeyDown и KeyUp в C # - PullRequest
0 голосов
/ 16 августа 2011

Итак, как начать. Я спрашиваю, когда вы создаете игру, например, и вы добавляете контроллеры, как заставить ключевые события формы выполняться, когда фокус находится не на форме, а на некоторых контроллерах и когда я вызываю this.Focus () или this.Select () ничего не происходит, но если я использую пустую форму (без элементов управления), она работает (события реагируют). И когда у меня есть, например, 2 кнопки, и вызываю button1.focus () и нажимаю клавишу button1's Обработчик событий отвечает (только он) и затем, когда я вызываю button2.Focus (), он отвечает за button2.Как распределяется фокус по элементам управления? Я знаю, что для баранины вы должны щелкнуть по ним один раз, чтобы автоматически сфокусироваться на них, а также для текстовых полей, но когда я щелкаю форму, она не перемещает фокус на форму.

У меня почти нет опыта работы с ключевыми событиями, пожалуйста, объясните мне, как их использовать и как они функционируют разумно.

PS: простите за длинный квест

1 Ответ

2 голосов
/ 16 августа 2011

Вы можете установить для Form.KeyPreview значение true, чтобы форма реагировала на ключевые события.

...