2015-09-19 3 views
1

Я пытаюсь получить non-ModifierKeys из события pressKey. Чтобы получить ModifierKey я использую:Получить non-ModifierKey C#

if (Control.ModifierKeys == Keys.Control) 

Но как я могу получить не-ModifierKeys? Не только определенный ключ. Но вся комбинация a-z 0-9.

Я хочу знать, если CTRL + A или CTRL +5 или CTRL + B нажата или любые комбинации.

ответ

0

Если вы пытаетесь определить, был ли нажатие клавиши буква или цифра, которую вы могли бы сделать что-то вроде

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
     { 
      if (Char.IsLetterOrDigit(e.KeyChar)) 
      {     
       //do A 
      } 
      else 
      { 
       //do B 
      } 
     } 

Но если вы хотите, какая клавиша была нажата, вы можете обрабатывать событие KeyDown которого KeyEventArgs будет нажмите клавишу.

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
     { 
      Keys keyPressed = e.KeyCode; 
     } 
+0

Спасибо. Когда я перемещаю код в KeyDown, он работает. Всегда использовал Keypess раньше. В этом случае это была не очень хорошая идея. Конечно, он подберет только CTRL, потому что его первая клавиша будет нажата. Но если я использую KeyDown, я получаю последний ключ, как было вниз. Ведьма будет немодификатором. – Ehel

1

Control не предоставляет свойство, в котором перечислены все нажатые клавиши. Вам нужно забрать его в случае, например, KeyPress.

+0

код указан в KeyPress. if (Control.ModifierKeys == Keys.Control) – Ehel

 Смежные вопросы

  • Нет связанных вопросов^_^