Share via


InkCollector.Gesture (Evento)

Actualización: noviembre 2007

Se produce cuando se reconoce un movimiento de 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 InkCollector
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 InkCollector debe tener interés en un conjunto de movimientos de una aplicación. Para establecer el interés del control InkCollector en un conjunto de movimientos, llame al método SetGestureStatus.

Para obtener una lista de los movimientos específicos de una aplicación, vea la enumeración ApplicationGesture. Para obtener más información acerca de los movimientos de una aplicación, vea Pen Input, Ink, and Recognition.

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 a su controlador, a menos que se quite el delegado.

Cuando la propiedad 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 el evento Gesture se produce 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 recolección de entradas manuscritas mientras se está en modo InkAndGesture:

Establezca CollectionMode en InkAndGesture.

  • Elimine el objeto Stroke en el evento Stroke.

  • Procese el movimiento en el evento Gesture.

Para evitar el flujo de entradas manuscritas durante el movimiento, establezca la propiedad DynamicRendering en false.

El evento Gesture se desencadena mientras el usuario inserta la entrada manuscrita y cuando el objeto InkCollector está en modo de selección o de 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 InkCollector usa 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 InkCollector, mInkCollector muestra interés en cuatro movimientos de enumeración ApplicationGesture.

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

Antes de la recopilación de entradas manuscritas y de movimientos, el objeto InkCollector, mInkCollector registra el controlador de eventos.

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

InkCollector (Clase)

InkCollector (Miembros)

Microsoft.Ink (Espacio de nombres)

InkCollectorGestureEventArgs

ApplicationGesture

InkCollector.SetGestureStatus