Condividi tramite


Procedura: eseguire l'override del tasto Indietro di Smartphone

Aggiornamento: novembre 2007

Nota:

La funzionalità del tasto Indietro è di fondamentale importanza per lo spostamento tra applicazioni Smartphone. Nella maggior parte dei casi alterare il comportamento predefinito del tasto Indietro è contrario alle indicazioni dell'interfaccia utente di Smartphone. È consigliabile prestare particolare attenzione quando si valutano le situazioni in cui eseguire l'override di questa funzionalità.

È possibile personalizzare il tasto Indietro nelle applicazioni Smartphone, ad esempio per eseguire un gioco. Il funzionamento del tasto dipende dal contesto in cui viene premuto, come descritto nella tabella riportata di seguito.

Funzionamento del tasto Indietro

Contesto

Annulla le finestre di dialogo modali.

Sempre

Annulla i menu di scelta rapida.

Sempre

Esegue un'operazione che prevede l'uso del tasto Backspace.

Quando lo stato attivo è detenuto da un controllo modificabile, quale una casella di testo, o da un controllo personalizzato modificabile.

Passa alla finestra successiva nell'ordine Z.

Quando lo stato attivo è detenuto da un form o da un controllo personalizzato, il tasto Indietro genera un evento KeyPress che può essere gestito in modo da assegnare ad esso una funzionalità personalizzata, come illustrato nell'esempio.

Se l'evento non viene gestito, lo stato attivo passa alla finestra successiva nell'ordine Z.

Quando lo stato attivo è detenuto da un form, un controllo non modificabile, quale un pulsante di opzione, oppure da un controllo personalizzato non modificabile.

Il tasto Indietro funziona nello stesso modo indipendentemente dalla presenza o meno di una barra dei menu. La barra dei menu è presente se il form contiene un componente MainMenu.

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come implementare una funzionalità personalizzata per il tasto Indietro. Quando il tasto Indietro viene premuto su un form o un controllo personalizzato, genera un evento KeyPress in cui il valore della proprietà KeyChar è uguale a quello del tasto ESC (27). Nel codice di gestione dell'evento determinare se è stato generato il valore del tasto ESC. In caso affermativo, annullare il funzionamento predefinito del tasto Indietro impostando la proprietà Handled su true. Se gli argomenti dell'evento non sono stati gestiti, il tasto Indietro sposta la selezione sulla finestra successiva nell'ordine Z.

Gli utenti di Visual C# devono definire un gestore eventi per l'evento KeyPress nel costruttore del form.

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

Compilazione del codice

Questo esempio richiede riferimenti ai seguenti spazi dei nomi:

Vedere anche

Attività

Procedura: ignorare i tasti softkey dello Smartphone

Altre risorse

Sviluppo per Smartphone e .NET Compact Framework