Cómo capturar una tecla de función presionado y, a continuación, realizar una acción en una aplicación para Windows

Seleccione idioma Seleccione idioma
Id. de artículo: 822492 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

En este artículo se describe cómo capturar una tecla de función presionado y, a continuación, realizar una acción en una aplicación de Microsoft Windows.

Teclas de función deben capturarse en el evento KeyDown del control. El controlador de eventos recibe un argumento de tipo KeyEventArgs . La propiedad KeyValue de KeyEventArgs proporciona información acerca de la clave que ha presionado. Puede comparar la propiedad KeyValue con las restricciones de clase de enumeración de claves .

La clase de enumeración de claves especifica los códigos de claves y los modificadores de claves. La clase de enumeración de claves contiene constantes que se pueden utilizar para procesar el entrada de teclado. Las claves se identifican mediante los valores de clave. Un valor de clave se compone de un código de tecla y un conjunto de modificadores que se combinan en un valor entero único. Los cuatro dígitos izquierdos de un valor de tecla contienen el código clave para las teclas modificadoras (la tecla MAYÚS, la tecla CTRL teclas ALT y), y los cuatro dígitos derecho de un valor de tecla contienen bits de modificador para las teclas modificadoras.

Las teclas modificadoras se no se pueden interceptar en el evento KeyDown del control. Por lo tanto, debe utilizar el operador AND bit a bit con la propiedad ModifierKeys junto con un valor de la clase de enumeración de claves para determinar qué tecla modificadora está en estado presionado. ModifierKeys es un miembro compartido de la clase control . La propiedad Control.ModifierKeys recibe un valor que indica qué modificador clave está en estado presionado.

Más información

En el siguiente ejemplo de paso a paso se describe cómo capturar la clave que está en estado presionado en Form1. En este ejemplo también se describe cómo determinar si la clave que se encuentra en estado presionado una tecla de función comparando el valor de clave con el valor de la clase de enumeración de claves . Cuando se presiona una tecla de función, se realiza la acción especificada para la clave de función en el procedimiento FuncKeysModule .
  1. Inicie Microsoft Visual Studio .NET o Microsoft Visual Studio 2005.
  2. En el menú archivo , seleccione nuevo y, a continuación, haga clic en proyecto .
  3. En Tipos de proyecto , haga clic en Proyectos de Visual Basic .

    Nota En Visual Studio 2005, haga clic en Visual Basic bajo Tipos de proyecto .
  4. En plantillas , haga clic en Windows Application .
  5. Haga clic en Aceptar .

    De forma predeterminada, se crea Form1.
  6. Agregue un control Button y agregue un control TextBox a Form1.
  7. Agregue el siguiente código para el evento KeyDown de TextBox1 , el evento KeyDown de Form1 y el KeyDown evento del control Button1 :
    'When the function keys are pressed, FuncKeysModule is called. 
    If e.KeyValue = Keys.F1 Or Keys.F2 Or Keys.F3 Or Keys.F4 Or Keys.F5 Or Keys.F6 Or Keys.F7 Or Keys.F8 Or Keys.F9 Or Keys.F10 Or Keys.F11 Or Keys.F12 Then
         FuncKeysModule(e.KeyValue)
         e.Handled = True
    End If
    Nota escribir el controlador de eventos KeyDown para todos los controles en el formulario para capturar las teclas de función. En caso contrario, las teclas de función no se capturaron cuando el foco está en el control.
  8. Agregue el código siguiente después el controlador de eventos Button1_KeyDown :
    Public Sub FuncKeysModule(ByVal value As Keys)
            'Check what function key is in a pressed state, and then perform the corresponding action.
            Select Case value
                Case Keys.F1
                    'Add the code for the function key F1 here.
                    MessageBox.Show("F1 pressed")
                Case Keys.F2
                    'Add the code for the function key F2 here.
                    MessageBox.Show("F2 pressed")
                Case Keys.F3
                    'Add the code for the function key F3 here.
                    MessageBox.Show("F3 pressed")
                Case Keys.F4
                    'Add the code for the function key F4 here.
                    MessageBox.Show("F4 pressed")
                Case Keys.F5
                    'Add the code for the function key F5 here.
                    MessageBox.Show("F5 pressed")
                Case Keys.F6
                    'Add the code for the function key F6 here.
                    MessageBox.Show("F6 pressed")
                Case Keys.F7
                    'Add the code for the function key F7 here.
                    MessageBox.Show("F7 pressed")
                Case Keys.F8
                    'Add the code for the function key F8 here.
                    MessageBox.Show("F8 pressed")
                Case Keys.F9
                    'Add the code for the function key F9 here.
                    MessageBox.Show("F9 pressed")
                Case Keys.F10
                    'Add the code for the function key F10 here.
                    MessageBox.Show("F10 pressed")
                Case Keys.F11
                    'Add the code for the function key F11 here.
                    MessageBox.Show("F11 pressed")
                Case Keys.F12
                    'Add the code for the key F12 here
                    MessageBox.Show("F12 pressed")
            End Select
        End Sub
  9. En el menú Generar , haga clic en Generar soluciones .
  10. En el menú Depurar , haga clic en iniciar .
  11. Presione cualquier tecla de función. Observe el resultado de la clave.

Referencias

Para obtener más información, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/system.windows.forms.keys(vs.71).aspx

Propiedades

Id. de artículo: 822492 - Última revisión: lunes, 26 de noviembre de 2007 - Versión: 2.5
La información de este artículo se refiere a:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbmt kbvs2005applies kbvs2005swept kbhowtomaster kbhowto kbwindowsforms kbforms KB822492 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 822492

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com