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


Автор: rubenhak 19.2.2004, 17:57
кто нибудь пробовал перехватывать нажатия keyboard?
вроди бы проблем нету - можно воспользоватся событием OnKeyDown ,
или на худой конец перегрузить WndProc на message = WM_KEYDOWN.

если на форме есть кнопка , тоже не проблемма - поставишь KeyPreview = true
и все . Ну вот проехали - кто-то попробуйте осущестбить ето для СТРЕЛОК.

когда нажымаетса стрелка меняетса Focus и не получаетса узнать нажата
ли кнопка или нет.

Автор: Albinos 20.2.2004, 02:11
В таком случае приходится переопределять метод ProcessCmdKey для собственных нужд:

Код
 protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
 {
  if (keyData == Keys.Up)
  {
   /// Нажата кнопка вверх.

   ...

   /// Возвращаем true если обработали сами и успешно.
   return true;
  }

  /// Обработка остальных клавиш по-умолчанию.
  return base.ProcessCmdKey (ref msg, keyData);
 }

Автор: rubenhak 20.2.2004, 16:27
Спасибо smile.gif

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