Share via


InkOverlay.Gesture (Evento)

Actualización: noviembre 2007

Se produce cuando se reconoce un movimiento de una aplicación.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink (en Microsoft.Ink.dll)

Sintaxis

'Declaración
Public Event Gesture As InkCollectorGestureEventHandler
'Uso
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 no admite eventos.

Comentarios

Para que se produzca este evento, el control InkOverlay debe tener interés en un conjunto de movimientos de una aplicación. Para establecer el interés del control InkOverlay en un conjunto de movimientos, llame al método SetGestureStatus.

Para obtener una lista de los movimientos específicos de una aplicación, vea el tipo de enumeración ApplicationGesture. Para obtener más información acerca de los movimientos de una aplicación, vea Command Input on the Tablet PC y Using Gestures.

El controlador de eventos recibe un argumento de tipo InkCollectorGestureEventArgs que contiene datos sobre este evento.

Cuando se crea un delegado de InkCollectorGestureEventHandler, se identifica el método que controla el evento. Para asociarlo al controlador de eventos, se debe agregar al evento una instancia del delegado. Siempre que se produce el evento se llama al controlador de eventos, a menos que quite el delegado.

Cuando la propiedad InkOverlay.CollectionMode se establece en GestureOnly, el tiempo de espera que transcurre entre el momento en que el usuario agrega un movimiento y el momento en que se produce el evento Gesture es un valor fijo que no puede modificar mediante programación. El reconocimiento de movimientos es más rápido en modo InkAndGesture.

Para evitar la recopilación de entrada manuscrita mientras se está en el modo InkAndGesture:

Para impedir el flujo de entrada manuscrita mientras un usuario registra un movimiento, establezca la propiedad DynamicRendering en false.

Además de cuando se inserta entrada manuscrita, el evento Gesture se desencadena cuando está en el modo de selección o borrado. Usted es responsable de supervisar el modo de edición y debería conocer el modo antes de interpretar el evento.

Nota

Para reconocer los movimientos, debe usar un objeto o un control que pueda recopilar entradas manuscritas.

Nota

El objeto InkOverlay utiliza el delegado InkCollectorGestureEventHandler para agregar un controlador de eventos de movimiento.

Ejemplos

El controlador de eventos de este ejemplo muestra información sobre los movimientos de aplicación en una etiqueta de la barra de estado, 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;
        }
    }

}

Únicamente los movimientos de aplicación para los que haya mostrado interés desencadenarán este evento. En este ejemplo, el objeto InkOverlay, mInkOverlay muestra interés en cuatro movimientos de la enumeración 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);

Antes de la recopilación de entrada manuscrita y movimientos, el objeto InkOverlay, mInkOverlay registra el controlador de eventos.

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

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

InkOverlay (Clase)

InkOverlay (Miembros)

Microsoft.Ink (Espacio de nombres)

ApplicationGesture

InkCollectorGestureEventArgs

InkOverlay.SetGestureStatus