2009-11-10 19 views
14

Tengo un formulario C# con 5 botones. Los usuarios ingresan la información y, dependiendo de presionar una tecla de función, se realiza una acción específica. F9 -Ejecutar orden, F6 -Salvar, F3 -LookUp.tecla de función de manejo presione

he añadido el código foolowing:

OnForm_Load

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

y

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

    } 

pero no pasa nada

Gracias

Respuesta

32

Usted n EED para establecer

KeyPreview=True 

para su formulario. De lo contrario, la tecla presionada se traga por el control que tiene el foco.

+0

También en el último estándar de Visual Studio C# debe configurar el método en PreviewKeyDown en lugar de KeyPress para que la tecla de función funcione. – Ch3shire

Cuestiones relacionadas