Share via


Comment : remplacer la touche Précédent de Smartphone

Mise à jour : novembre 2007

Remarque :

Notez que les fonctionnalités de la touche Précédent sont essentielles pour naviguer entre des applications Smartphone. Dans la plupart des cas, il est contraire aux indications de l'interface utilisateur Smartphone de modifier le comportement de navigation par défaut de la touche Précédent. Faites preuve de discernement pour identifier le moment où ces fonctionnalités doivent être remplacées.

Vous pouvez personnaliser la touche Précédent dans les applications Smartphone, par exemple pour un jeu. Elle fonctionne selon le contexte de l'utilisation de la touche, comme indiqué dans le tableau suivant.

Fonctionnement de la touche Précédent

Contexte

Annule les boîtes de dialogue modales.

Toujours.

Annule les menus contextuels.

Toujours.

Exécute une opération de retour arrière.

Lorsque le focus est sur un contrôle modifiable, tel qu'une zone de texte, ou sur un contrôle personnalisé modifiable.

Passe à la fenêtre suivante dans l'ordre de plan.

Notez que, lorsque le focus est sur un formulaire ou sur un contrôle personnalisé, la touche Précédent déclenche un événement KeyPress que vous pouvez gérer pour fournir vos propres fonctionnalités, comme indiqué dans l'exemple.

Si vous ne gérez pas l'événement, le focus passe à la fenêtre suivante dans l'ordre de plan.

Lorsque le focus est sur un formulaire, un contrôle non modifiable (tel qu'une case d'option) ou un contrôle personnalisé non modifiable.

La touche Précédent fonctionne de la même manière, qu'il existe ou non une barre de menus. Une barre de menus existe si le formulaire contient un composant MainMenu.

Exemple

L'exemple de code suivant montre comment implémenter les fonctionnalités personnalisées de la touche Précédent. Lorsque vous appuyez sur la touche Précédent sur un formulaire ou un contrôle personnalisé, elle déclenche l'événement KeyPress dont la valeur KeyChar est égale à la touche Échap (27). Dans le code de gestion des événements, déterminez si la valeur de la touche Échap a été déclenchée. Si tel est le cas, annulez le fonctionnement de la touche Précédent par défaut en affectant à la propriété Handled la valeur true. Si les arguments d'événement ne sont pas gérés, la touche Précédent passe à la fenêtre suivante dans l'ordre de plan.

Les utilisateurs de Visual C# doivent définir un gestionnaire d'événements pour l'événement KeyPress dans le constructeur du formulaire.

// 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.");
    }
}

Compilation du code

Cet exemple nécessite des références aux espaces de noms suivants :

Voir aussi

Tâches

Comment : remplacer les touches programmables Smartphone

Autres ressources

Développement de SmartPhone et le .NET Compact Framework