Compartir a través de


InkPicture.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 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 no admite eventos.

Comentarios

Para que este evento se produzca, el control InkPicture debe tener interés en un conjunto de movimientos de aplicación. Para establecer el interés del control InkPicture 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 Using Gestures y Command Input on the Tablet PC.

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 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 evitar el flujo de entradas manuscritas durante el movimiento, establezca la propiedad DynamicRendering en false.

Además de desencadenarse al insertar entrada manuscrita, el evento Gesture se desencadena cuando se aplica el valor de enumeración InkOverlayEditingModeSelect o Delete. 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 entrada manuscrita.

Nota

El control InkPicture 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 InkPicture, mInkPicture muestra interés en cuatro movimientos de la enumeración 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);

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

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

InkPicture (Clase)

InkPicture (Miembros)

Microsoft.Ink (Espacio de nombres)

ApplicationGesture

InkCollectorGestureEventArgs

InkOverlayEditingMode

InkPicture.SetGestureStatus