Freigeben über


InkCollectorGestureEventHandler-Delegat

Stellt die Methode dar, die das Gesture-Ereignis eines InkCollector-Objekts behandelt.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public Delegate Sub InkCollectorGestureEventHandler ( _
    sender As Object, _
    e As InkCollectorGestureEventArgs _
)
'Usage
Dim instance As New InkCollectorGestureEventHandler(AddressOf HandlerMethod)
public delegate void InkCollectorGestureEventHandler(
    Object sender,
    InkCollectorGestureEventArgs e
)
public delegate void InkCollectorGestureEventHandler(
    Object^ sender, 
    InkCollectorGestureEventArgs^ e
)
/** @delegate */
public delegate void InkCollectorGestureEventHandler(
    Object sender,
    InkCollectorGestureEventArgs e
)
JScript unterstützt keine Delegaten.

Parameter

Hinweise

Das Gesture-Ereignis wird ausgelöst, wenn der Benutzer eine vordefinierte Anwendungsstiftbewegung ausführt, die von einem Erkennungsmodul erkannt wird.

Beim Erstellen eines InkCollectorGestureEventHandler-Delegaten bestimmen Sie die Methode für die Ereignisbehandlung. Um dem Ereignishandler das Ereignis zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Der Ereignishandler wird bei jedem Eintreten des Ereignisses aufgerufen, sofern der Delegat nicht entfernt wird.

Wenn die CollectionMode-Eigenschaft auf GestureOnly festgelegt ist, ist das Timeout zwischen dem Zeitpunkt, zu dem ein Benutzer eine Stiftbewegung hinzufügt, und dem Zeitpunkt, zu dem das Gesture-Ereignis eintritt, ein fester Wert, der nicht programmgesteuert geändert werden kann. Die Stiftbewegungserkennung ist im InkAndGesture-Modus schneller.

So verhindern Sie während des InkAndGesture-Modus die Auflistung der Freihandeingaben:

  • Legen Sie die CollectionMode-Eigenschaft auf InkAndGesture fest.

  • Löschen Sie das Stroke-Objekt aus dem Stroke-Ereignis.

  • Verarbeiten Sie die Stiftbewegung im Gesture-Ereignis.

Um den Fluss der Freihandeingaben bei Stiftbewegungen zu verhindern, legen Sie die DynamicRendering-Eigenschaft auf false fest.

Hinweis

Um Stiftbewegungen zu erkennen, müssen Sie ein Objekt oder ein Steuerelement verwenden, das Freihandeingaben erfassen kann.

Hinweis

Das InkCollector-Objekt, das InkOverlay-Objekt und das InkPicture-Steuerelement verwenden den InkCollectorGestureEventHandler-Delegaten, um einen Gesture-Ereignishandler hinzuzufügen.

Beispiele

Der Ereignishandler in diesem Beispiel zeigt Informationen zu Anwendungsstiftbewegungen in einer Bezeichnung auf der Statusleiste (statusLabelAppGesture) an.

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;
        }
    }

}

Dieses Ereignis wird nur von Anwendungsstiftbewegungen ausgelöst, die auch angefordert wurden. In diesem Beispiel fordert das InkCollector-Objekt mInkCollector vier Stiftbewegungen der ApplicationGesture-Enumeration an.

' 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);

Plattformen

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Versionsinformationen

.NET Framework

Unterstützt in: 3.0

Siehe auch

Referenz

Microsoft.Ink-Namespace

ApplicationGesture

InkCollector.SetGestureStatus