2009-11-10 16 views
14

Mam formularz C# z 5 przycisków. Użytkownicy wprowadzają informacje i w zależności od naciśnięcia klawisza funkcyjnego wykonuje się określone działanie. F9 -Wyświetl zamówienie, F6 -Zapisz, F3 -LookUp.klawisz funkcyjny naciśnięcie klawisza

Dodałem kod foolowing:

OnForm_Load

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

i

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"); 

    } 

ale nic się nie dzieje

Dzięki

Odpowiedz

32

You n Aby ustawić dla formularza

KeyPreview=True 

dla swojego formularza. W przeciwnym razie naciśnięcie klawisza zostanie połknięte przez kontrolkę z ustawioną ostrością.

+0

Również w ostatnim standardzie Visual Studio C# należy ustawić metodę PreviewKeyDown zamiast KeyPress, aby klawisz funkcyjny działał. – Ch3shire

Powiązane problemy