Freigeben über


InkOverlay.Gesture-Ereignis

Tritt ein, wenn eine Anwendungsstiftbewegung erkannt wird.

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

Syntax

'Declaration
Public Event Gesture As InkCollectorGestureEventHandler
'Usage
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 unterstützt keine Ereignisse.

Hinweise

Damit dieses Ereignis eintritt, muss das InkOverlay-Objekt Interesse an einem Satz von Anwendungsstiftbewegungen haben. Rufen Sie die SetGestureStatus-Methode auf, um das Interesse des InkOverlay-Objekts für einen Satz von Stiftbewegungen festzulegen.

Eine Liste der spezifischen Anwendungsstiftbewegungen finden Sie unter dem ApplicationGesture-Enumerationstyp. Weitere Informationen zu Anwendungsstiftbewegungen finden Sie unter Command Input on the Tablet PC und Using Gestures.

Der Ereignishandler empfängt ein Argument vom Typ InkCollectorGestureEventArgs, das Daten zu diesem Ereignis enthält.

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 InkOverlay.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 die Erfassung der Freihandeingaben im InkAndGesture-Modus:

Um den Fluss der Freihandeingaben zu verhindern, während ein Benutzer Stiftbewegungen ausführt, legen Sie die DynamicRendering-Eigenschaft auf false fest.

Das Gesture-Ereignis wird nicht nur bei Freihandeingaben, sondern auch im Auswahl- oder Löschmodus ausgelöst. Sie sind für das Nachverfolgen des Bearbeitungsmodus verantwortlich, und Sie sollten vor dem Interpretieren des Ereignisses den Modus kennen.

Hinweis

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

Hinweis

Das InkOverlay-Objekt verwendet den InkCollectorGestureEventHandler-Delegaten, um einen Ereignishandler für Stiftbewegungen 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 InkOverlay-Objekt mInkOverlay vier Stiftbewegungen der ApplicationGesture-Enumeration an.

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

Vor dem Erfassen von Freihandeingaben und Stiftbewegungen, registriert das InkOverlay-Objekt mInkOverlay den Ereignishandler.

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

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

InkOverlay-Klasse

InkOverlay-Member

Microsoft.Ink-Namespace

ApplicationGesture

InkCollectorGestureEventArgs

InkOverlay.SetGestureStatus