Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как обрабатывать сразу несколько нажатий


Автор: VisualProgrammerNET 31.5.2006, 18:21
Не секрет, что событие KeyDown/KeyPress обратаывает только ОДНО нажатие. Т.е. если мы нажмём две любые клавиши на клавиатуре, то скорее всего ничего не произойдёт, или произойдёт нечто странное. В любом случае, не то, что нам бы хотелось.

Вопрос. Кто-нибудь в курсе, как сделать так, чтобы было то, что нужно? К примеру, зажимаем клавишу вверх, кнопка ползёт по форме вверх. Вправо - ползёт вправо. А когда зажимаем вверх и вправо - то по диагонали. 

Автор: arilou 31.5.2006, 18:23
Флаги надо выставлять при нажатии и снимать при отпускании, а в зависимости от флагов двигать. Вроде так. 

Автор: VisualProgrammerNET 31.5.2006, 18:43
можно небольшой примерчик? Просто хотелось бы узреть самую суть в виде кода...  smile 
 smile  

Автор: mr.DUDA 31.5.2006, 20:25
ИМХО, чтобы обрабатывать 2 нажатые одновременно клавиши, нужно DirectInput юзать. Хотя это только имхо. 

Автор: Ch0bits 31.5.2006, 20:30
Можно использовать API GetKeyState совместно с таймером.  smile  

Автор: VisualProgrammerNET 31.5.2006, 21:50
Вот я тоже сначала думал о DirectInput... кто-нить в курсе, где нарыть информацию по данной теме? 

Автор: Calve 1.6.2006, 03:59
Качай DirectX SDK и смотри примеры 

Автор: Ch0bits 1.6.2006, 10:21
Calve
Да, он совсем маленький! Я в свободное время качаю... вот уже 3 месяца.  smile  

Автор: VisualProgrammerNET 1.6.2006, 12:17
Скачал, давно уже. Ща разбираюсь... Научился рисовать всякие фигурки  smile  Смотрю раздел про DirectInput... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)