Condividi tramite


Evento InkOverlay.Gesture

Aggiornamento: novembre 2007

Si verifica quando viene riconosciuto un movimento dell'applicazione.

Spazio dei nomi:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Sintassi

'Dichiarazione
Public Event Gesture As InkCollectorGestureEventHandler
'Utilizzo
Dim instance As InkOverlay
Dim handler As InkCollectorGestureEventHandler

AddHandler instance.Gesture, handler
public event InkCollectorGestureEventHandler Gesture
public:
 event InkCollectorGestureEventHandler^ Gesture {
    void add (InkCollectorGestureEventHandler^ value);
    void remove (InkCollectorGestureEventHandler^ value);
}
/** @event */
public void add_Gesture (InkCollectorGestureEventHandler value)
/** @event */
public void remove_Gesture (InkCollectorGestureEventHandler value)
JScript non supporta gli eventi.

Note

Affinché questo evento si verifichi, l'oggetto InkOverlay deve avere un interesse in un insieme di movimenti dell'applicazione. Per impostare l'interesse dell'oggetto InkOverlay in un insieme di movimenti, chiamare il metodo SetGestureStatus.

Per un elenco di movimenti specifici dell'applicazione, vedere il tipo di enumerazione ApplicationGesture. Per ulteriori informazioni sui movimenti dell'applicazione, vedere Command Input on the Tablet PC e Using Gestures.

Il gestore eventi riceve un argomento di tipo InkCollectorGestureEventArgs contenente i dati relativi a questo evento.

Quando si crea un delegato InkCollectorGestureEventHandler, viene identificato il metodo che gestisce l'evento. Per associare l'evento al gestore in uso, aggiungere all'evento un'istanza del delegato. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, a meno che non si rimuova il delegato.

Quando la proprietà InkOverlay.CollectionMode è impostata su GestureOnly, il timeout tra l'aggiunta di un movimento da parte dell'utente e la generazione dell'evento Gesture è un valore fisso che non è possibile modificare a livello di codice. Il riconoscimento del movimento è più veloce in modalità InkAndGesture.

Per impedire la raccolta dell'input penna in modalità InkAndGesture:

Per evitare il flusso di input penna durante la registrazione di un movimento da parte dell'utente, impostare la proprietà DynamicRendering su false.

L'evento Gesture viene generato sia durante l'inserimento dell'input penna, sia nella modalità di selezione o di gomma. L'utente deve verificare la modalità di modifica ed essere consapevole di tale modalità prima di interpretare l'evento.

Nota

Per riconoscere i movimenti, è necessario utilizzare un oggetto o un controllo in grado di raccogliere l'input penna.

Nota

L'oggetto InkOverlay utilizza il delegato InkCollectorGestureEventHandler per aggiungere un gestore eventi di movimento.

Esempi

Il gestore eventi di questo esempio visualizza le informazioni relative ai movimenti dell'applicazione su un'etichetta della barra di stato, statusLabelAppGesture.

Private Sub Event_OnApplicationGesture(ByVal sender As Object, ByVal e As InkCollectorGestureEventArgs)

    ' There might be more than one gesture passed in InkCollectorGestureEventArgs
    ' The gestures are arranged in order of confidence from most to least
    ' This event handler is only concerned with the first (most confident) gesture
    Dim G As Gesture = e.Gestures(0)

    ' we will use the gesture if it has confidence of strong or intermediate

    If G.Confidence = RecognitionConfidence.Intermediate Or _
    G.Confidence = RecognitionConfidence.Strong Then

        Select Case G.Id
            Case ApplicationGesture.Left
                statusLabelAppGesture.Text = "Left"
            Case ApplicationGesture.Right
                statusLabelAppGesture.Text = "Right"
            Case ApplicationGesture.Up
                statusLabelAppGesture.Text = "Up"
            Case ApplicationGesture.Down
                statusLabelAppGesture.Text = "Down"
        End Select

    End If
End Sub
void Event_OnApplicationGesture(object sender, InkCollectorGestureEventArgs e)
{
    // There might be more than one gesture passed in InkCollectorGestureEventArgs
    // The gestures are arranged in order of confidence from most to least
    // This event handler is only concerned with the first (most confident) gesture
    Gesture G = e.Gestures[0];

    // we will use the gesture if it has confidence of strong or intermediate

    if (G.Confidence == RecognitionConfidence.Intermediate ||
        G.Confidence == RecognitionConfidence.Strong)
    {

        switch (G.Id)
        {
            case ApplicationGesture.Left:
                statusLabelAppGesture.Text = "Left";
                break;
            case ApplicationGesture.Right:
                statusLabelAppGesture.Text = "Right";
                break;
            case ApplicationGesture.Up:
                statusLabelAppGesture.Text = "Up";
                break;
            case ApplicationGesture.Down:
                statusLabelAppGesture.Text = "Down";
                break;
        }
    }

}

Questo evento verrà generato solo dai movimenti dell'applicazione in cui è stato espresso un interesse. In questo esempio, l'oggetto InkOverlay, mInkOverlay esprime un interesse in quattro movimenti dell'enumerazione ApplicationGesture.

' set InkOverlay interest in the Left, Right, Up, Down gestures
mInkOverlay.SetGestureStatus(ApplicationGesture.Left, True)
mInkOverlay.SetGestureStatus(ApplicationGesture.Right, True)
mInkOverlay.SetGestureStatus(ApplicationGesture.Up, True)
mInkOverlay.SetGestureStatus(ApplicationGesture.Down, True)
// set InkOverlay interest in the Left, Right, Up, Down gestures
mInkOverlay.SetGestureStatus(ApplicationGesture.Left, true);
mInkOverlay.SetGestureStatus(ApplicationGesture.Right, true);
mInkOverlay.SetGestureStatus(ApplicationGesture.Up, true);
mInkOverlay.SetGestureStatus(ApplicationGesture.Down, true);

Prima della raccolta di input penna e di movimenti, l'oggetto InkOverlay, mInkOverlay registra il gestore eventi.

' register the Gesture event handler
AddHandler mInkOverlay.Gesture, New InkCollectorGestureEventHandler(AddressOf Event_OnApplicationGesture)
// register the Gesture event handler
mInkOverlay.Gesture += new InkCollectorGestureEventHandler(Event_OnApplicationGesture);

Piattaforme

Windows Vista

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Framework

Supportato in: 3.0

Vedere anche

Riferimenti

InkOverlay Classe

Membri InkOverlay

Spazio dei nomi Microsoft.Ink

ApplicationGesture

InkCollectorGestureEventArgs

InkOverlay.SetGestureStatus