Cómo: Reemplazar la tecla Atrás de Smartphone

Actualización: noviembre 2007

Nota:

Tenga en cuenta que la funcionalidad de la tecla Atrás es fundamental para navegar entre las distintas aplicaciones de Smartphone. En la mayoría de los casos, las instrucciones de la interfaz de usuario de Smartphone recomiendan encarecidamente que no se modifique el comportamiento predeterminado de navegación de la tecla Atrás. Extreme las precauciones al determinar si desea reemplazar esta funcionalidad.

Es posible personalizar la tecla Atrás de las aplicaciones de Smartphone, por ejemplo, para un juego. Su funcionamiento dependerá del contexto en que se presione la tecla, como se describe en la tabla siguiente.

Funcionamiento de la tecla Atrás

Contexto

Cancela los cuadros de diálogo modales.

Siempre.

Cancela los menús de acceso directo.

Siempre.

Realiza una operación de retroceso.

Cuando el foco se encuentra en un control modificable, como un cuadro de texto, o en un control personalizado modificable.

Navega hasta la ventana siguiente en el orden Z.

Tenga en cuenta que cuando el foco se encuentra en un formulario o en un control personalizado, la tecla Atrás provoca el evento KeyPress, que se puede controlar para proporcionar la funcionalidad deseada, como se muestra en el ejemplo.

Si el evento no se controla, el foco navega hasta la ventana siguiente en el orden Z.

Cuando el foco está en un formulario, en un control no modificable (por ejemplo, un botón de opción) o en un control personalizado no modificable.

La tecla Atrás funciona de la misma manera independientemente de que haya una barra de menús. Esta barra de menús está presente cuando el formulario contiene un componente MainMenu.

Ejemplo

El ejemplo de código siguiente muestra cómo implementar una funcionalidad personalizada para la tecla Atrás. Cuando la tecla Atrás se presiona en un formulario o en un control personalizado, se provoca el evento KeyPress con el valor KeyChar igual a la tecla ESC (27). En el código del control de eventos, determine si se ha generado el valor de tecla ESC. En caso afirmativo, cancele el funcionamiento predeterminado de la tecla Atrás estableciendo la propiedad Handled en true. Si no se controlan los argumentos de evento, la tecla Atrás navega hasta la ventana siguiente en el orden Z.

Los usuarios de Visual C# deben definir un controlador de eventos para el evento KeyPress en el constructor del formulario.

// Connect an event handler to the KeyPress event
this.KeyPress += new KeyPressEventHandler(OnKeyPress);
Private Sub keypressed(ByVal o As [Object], _
    ByVal e As KeyPressEventArgs) Handles MyBase.KeyPress
    ' Determine if ESC key value is raised.
    If e.KeyChar = ChrW(Keys.Escape) Then
        ' Handle the event to provide your own functionality.
        e.Handled = True

        ' Add  your event handling code here.
        MessageBox.Show("Custom back key functionality.")
    End If
End Sub
private void OnKeyPress(object sender, KeyPressEventArgs ke)
{
    // Determine if ESC key value is pressed.
    if (ke.KeyChar == (Char)Keys.Escape)
    {
        // Handle the event to provide functionality.
        ke.Handled = true;

        // Add your event handling code here.
        MessageBox.Show("Back key was pressed.");
    }
}

Compilar el código

Para este ejemplo se requieren referencias a los siguientes espacios de nombres:

Vea también

Tareas

Cómo: Reemplazar las teclas programables de Smartphone

Otros recursos

Desarrollo de Smartphone y .NET Compact Framework