im программирование формы, которая перемещает изображение влево или вправо на определенное расстояние на основе клавиш со стрелками. Я знаю, что форма нуждается в KeyPreveiw = True и устанавливается соответствующим образом. мой код:Форма, не читающая стрелку в событии keydown
В этом блоке WASD работает соответственно, однако стрелки LRUD вообще не срабатывают. Я попытался с помощью:
Msgbox(e.keycode.tostring())
, чтобы показать, если они были стреляя, другие кнопки работали (123, ABC, и т.д.), стрелка, однако, не сделала. Моя догадка о проблеме заключается в том, что у меня есть кнопки в форме, и они принимают клавиши для себя (приоритет над формой). На моей форме у меня есть 3 кнопки, когда я нажимаю, давайте скажем стрелку вниз, я вижу, что каждая кнопка подсвечивается через три. Как я могу исправить эту проблему? Заранее спасибо!
EDIT: После удаления кнопки код работает. Мне нужно, чтобы выяснить, как сделать приоритет формы тейк на кнопку, если это возможно :)
возможно дубликат [события KeyDown не стрельбы с .NET WinForms?] (http://stackoverflow.com/questions/1608611/keydown-event-not-firing-with-net-winforms) –