2015-10-26 6 views
1

В моем приложении C# я хочу определить, когда пользователь нажимает кнопку контекстного меню на клавиатуре. Эта кнопка находится на правой стороне клавиатуры между клавишами Windows и Ctrl.Detect Shift + F10 или кнопка контекстного меню

Также необходимо выяснить, когда пользователь нажимает Shift + F10, что является еще одним сокращением для отображения контекстного меню.

Как я могу это сделать?

Я захватываю нажатия клавиш внутри функции.

private void keypressed(Object obj, KeyPressEventArgs e) 

ответ

1

Этот код отображает номер для любой комбинации клавиш, которую вы вводите в строке заголовка формы. Просто найдите соответствующее число (для shift + F10 это 65657) и отреагируйте на переключатель. Контекстное меню 93. Некоторые клавиши могут отличаться с раскладкой ...

Просто вставьте это в любом Windows-форм-классе вы хотите:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { 
     int KeyAsInt=(int)keyData; 
     this.Text = KeyAsInt.ToString(); 
     switch (KeyAsInt) { 
      case 65657: 
       MessageBox.Show("Heureka!"); 
       break; 
     } 
     return base.ProcessCmdKey(ref msg, keyData); 
    } 
Смежные вопросы