Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Влево, вправо, вверх, вниз... Добавлено: 14.03.10 10:46  

Автор вопроса:  VβÐUηìt | Web-сайт: смекаешь.рф
Вобщем такой бяк. Я с ним сталкивался еще в VB6, и в C# столкнулся вновь. Допустим я делаю, контрол. Какого фига я могу перехватывать нажатия всех клавиш, кроме стрелок влево, вправо и т.п.? OnKeyDown тупо не вызывается и все. OnKeyPress тоже. Бо(

Заранее благодарен.

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 14.03.10 12:49
  1.  
  2. using System;
  3. using System.Windows.Forms;
  4.  
  5. namespace VbNetExample
  6. {
  7.     public partial class UserControl1 : UserControl
  8.     {
  9.         public UserControl1()
  10.         {
  11.             InitializeComponent();
  12.         }
  13.  
  14.         protected override bool IsInputKey(Keys keyData) { return true; }
  15.  
  16.         protected override void OnKeyDown(KeyEventArgs e)
  17.         {
  18.             base.OnKeyDown(e);
  19.             Console.WriteLine("{0} was pressed...", e.KeyCode);
  20.         }
  21.     }
  22. }




A was pressed...
X was pressed...
Down was paressed...
Up was pressed...
Left was pressed...
Right was pressed..



Вызовите метод IsInputKey, чтобы определить, является ли клавиша, указанная параметром keyData клавишей ввода, необходимой для элемента управления. Данный метод вызывается во время предварительной обработки сообщения окна, чтобы определить, нужна ли предварительная обработка указанной клавиши ввода или ее следует отправить непосредственно в элемент управления. Если метод IsInputKey возвращает значение true, указанная клавиша отправляется непосредственно в элемент управления. Если метод IsInputKey возвращает значение false, указанная клавиша предварительно обрабатывается и отправляется в элемент управления только в том случае, если он не подвергался предварительной обработке. Клавишами, обрабатываемыми предварительно, являются: TAB, ВВОД, ESCAPE и СТРЕЛКА ВВЕРХ, СТРЕЛКА ВНИЗ, СТРЕЛКА ВЛЕВО и СТРЕЛКА ВПРАВО.

Ответить

Номер ответа: 2
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #2
Добавлено: 14.03.10 12:53
Сенкс

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам