Condividi tramite


Evento InkPicture.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 InkPicture
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, il controllo InkPicture deve esprimere un interesse per un insieme di movimenti dell'applicazione. Per impostare l'interesse del controllo InkPicture per 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 Using Gestures e Command Input on the Tablet PC.

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à 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 l'esecuzione di movimenti, impostare la proprietà DynamicRendering su false.

Oltre a verificarsi in caso di inserimento dell'input penna, l'evento Gesture viene generato quando viene applicato il valore dell'enumerazione InkOverlayEditingModeSelect o Delete. 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

Il controllo InkPicture 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 InkPicture, mInkPicture esprime un interesse in quattro movimenti dell'enumerazione ApplicationGesture.

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

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

' register the Gesture event handler
AddHandler mInkPicture.Gesture, New InkCollectorGestureEventHandler(AddressOf Event_OnApplicationGesture)
// register the Gesture event handler
mInkPicture.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

InkPicture Classe

Membri InkPicture

Spazio dei nomi Microsoft.Ink

ApplicationGesture

InkCollectorGestureEventArgs

InkOverlayEditingMode

InkPicture.SetGestureStatus