Compartir a través de


InkEditGestureEventArgs.Gestures (Propiedad)

Actualización: noviembre 2007

Obtiene una matriz de objetos Gesture, por orden de confianza, del reconocedor.

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

Sintaxis

'Declaración
Public ReadOnly Property Gestures As Gesture()
'Uso
Dim instance As InkEditGestureEventArgs
Dim value As Gesture()

value = instance.Gestures
public Gesture[] Gestures { get; }
public:
property array<Gesture^>^ Gestures {
    array<Gesture^>^ get ();
}
/** @property */
public Gesture[] get_Gestures()
public function get Gestures () : Gesture[]

Valor de propiedad

Tipo: array<Microsoft.Ink.Gesture[]
Matriz de objetos Gesture, por orden de confianza, del reconocedor.

Comentarios

Para obtener descripciones del movimiento de la aplicación, vea la enumeración ApplicationGesture.

El evento Gesture se produce cuando el reconocedor reconoce un movimiento de la aplicación.

La matriz contiene información sobre los movimientos de las aplicaciones, no de movimientos del sistema. Para obtener más información acerca de los movimientos, vea Using Gestures.

El control InkEdit tiene el interés predeterminado y ejecuta acciones para los siguientes movimientos.

Movimiento

Acción

Abajo izquierda, abajo izquierda largo

Entrar

Derecha

Espacio

Izquierda

Retroceso

Arriba derecha, arriba derecha largo

Tabulador

Ejemplos

En este ejemplo se muestra cómo puede suscribirse al evento Gesture y al evento Stroke para aumentar la funcionalidad de un objeto ApplicationGesture.

Cuando se activa el evento Gesture, se examina el movimiento y el estado actual del control InkEdit. Si es necesario, se modifica el comportamiento del movimiento y se cancela el evento.

Private Sub mInkEdit_Gesture(ByVal sender As Object, ByVal e As InkEditGestureEventArgs)
    ' There might be more than one gesture passed in InkEditGestureEventArgs
    ' The gestures are arranged in order of confidence from most to least
    ' This event handler is only concerned with the first (most confident) gesture
    ' and only if the gesture is ApplicationGesture.Left with strong confidence
    Dim G As Gesture = e.Gestures(0)
    If (ApplicationGesture.Left = G.Id And RecognitionConfidence.Strong = G.Confidence) Then
        Dim pInkEdit As InkEdit = DirectCast(sender, InkEdit)
        ' by default, ApplicationGesture.Left maps to Backspace
        ' If the insertion point is at the beginning of the text
        ' and there is no text selected, then Backspace does not do anything.
        ' In this case, we will alter the gesture to map to Delete instead
        If (0 = pInkEdit.SelectionStart And 0 = pInkEdit.SelectionLength And pInkEdit.Text.Length > 0) Then
            ' take out the first character of the string
            pInkEdit.Text = pInkEdit.Text.Remove(0, 1)
            ' save the stroke ID in a class level var for use in the Stroke event
            Me.mStrokeID = e.Strokes(0).Id
            ' cancel the gesture so it won't perform the default action
            e.Cancel = True
        End If
    End If
End Sub
private void mInkEdit_Gesture(object sender, InkEditGestureEventArgs e)
{
    // There might be more than one gesture passed in InkEditGestureEventArgs
    // The gestures are arranged in order of confidence from most to least
    // This event handler is only concerned with the first (most confident) gesture
    // and only if the gesture is ApplicationGesture.Left with strong confidence
    Gesture G = e.Gestures[0];
    if (ApplicationGesture.Left == G.Id &&  RecognitionConfidence.Strong == G.Confidence)
    {
        InkEdit pInkEdit = (InkEdit)sender;

        // by default, ApplicationGesture.Left maps to Backspace
        // If the insertion point is at the beginning of the text
        // and there is no text selected, then Backspace does not do anything.
        // In this case, we will alter the gesture to map to Delete instead
        if (0 == pInkEdit.SelectionStart && 0 == pInkEdit.SelectionLength && pInkEdit.Text.Length > 0)
        {
            // take out the first character of the string
            pInkEdit.Text = pInkEdit.Text.Remove(0, 1);
            // save the stroke ID in a class level var for use in the Stroke event
            this.mStrokeID = e.Strokes[0].Id;
            // cancel the gesture so it won't perform the default action
            e.Cancel = true;
        }
    }
}

Cuando se activa el evento Stroke, éste se cancela si el trazo es el que se usó para generar el movimiento cuyo comportamiento se modificó en el evento Gesture. De este modo, se impide la representación del trazo.

Private Sub mInkEdit_Stroke(ByVal sender As Object, ByVal e As InkEditStrokeEventArgs)
    e.Cancel = (e.Stroke.Id = Me.mStrokeID)
End Sub
private void mInkEdit_Stroke(object sender, InkEditStrokeEventArgs e)
{
    e.Cancel = (e.Stroke.Id == this.mStrokeID);
}

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

InkEditGestureEventArgs (Clase)

InkEditGestureEventArgs (Miembros)

Microsoft.Ink (Espacio de nombres)

Gesture

Gesture.Id

InkEdit

InkEdit.Gesture