2009-11-10 5 views
14

У меня есть форма C# с 5 кнопками. Пользователи вводят информацию, и в зависимости от нажатия функциональной клавиши выполняется конкретное действие. F9 -Исследование заказа, F6 -Save, F3 -LookUp.Управление функцией нажатия клавиши

Я добавил код foolowing:

OnForm_Load

this.KeyUp += new System.Windows.Forms.KeyEventHandler(KeyEvent); 

и

private void KeyEvent(object sender, KeyEventArgs e) //Keyup Event 
    { 
     if (e.KeyCode == Keys.F9) 
     { 
      MessageBox.Show("Function F9"); 
     } 
     if (e.KeyCode == Keys.F6) 
     { 
      MessageBox.Show("Function F6"); 
     } 
     else 
      MessageBox.Show("No Function"); 

    } 

, но ничего не происходит

Благодарности

ответ

32

Вы п eed to set

KeyPreview=True 

для вашей формы. В противном случае нажатие клавиши проталкивается элементом управления с фокусом.

+0

Также в последнем стандарте Visual Studio C# вам нужно установить метод PreviewKeyDown вместо KeyPress, чтобы получить функциональный ключ. – Ch3shire

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