2011-11-14 23 views
9

Cuando presiono F10 en mi programa, el enfoque se pierde desde la ventana principal de mi programa y se mueve a la barra de menú. Resulta que este extraño comportamiento es común en muchas aplicaciones de Windows.Desactivar la tecla F10 de mover el foco a la barra de menú en C# Programa de formas

Creo que es feo porque la tecla Alt hace lo mismo, y perdemos una preciosa tecla de función. ¿Por qué Windows hace esto y cómo puedo resolver el caso de mi aplicación C#?

+0

su información, este comportamiento para el acceso directo F10 ha existido desde al menos Windows XP: http://support.microsoft.com/kb/301583 – bobbymcr

+0

Sé tener cuidado con el cambio de comportamiento "feo" que sus usuarios esperan. –

Respuesta

11

utiliza el evento KeyDown para el formulario y manejar el golpe de teclado:

private void form_KeyDown(object sender, KeyEventArgs e) 
{ if(e.KeyData == Keys.F10) 
    { 
     // Do what you want with the F10 key 
     e.SuppressKeyPress = true; 
    } 
} 

También asegúrese de que sus formas KeyPreview se establece en true.

+0

¡Gracias, eso funcionó! –

+0

@Brock lo siento por los errores tipográficos –

+0

@Mark, en realidad Dan (el OP) hizo las correcciones. Como él no tiene privilegios de edición, solo ayudé a que sus cambios se mantengan. –

Cuestiones relacionadas