Freigeben über


InkPicture.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 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 unterstützt keine Ereignisse.

Hinweise

Damit dieses Ereignis auftritt, muss das InkPicture-Steuerelement Interesse an einem Satz Anwendungsstiftbewegungen haben. Rufen Sie die SetGestureStatus-Methode auf, um das Interesse des InkPicture-Steuerelements für einen Satz Stiftbewegungen festzulegen.

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

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 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 bei Stiftbewegungen zu verhindern, legen Sie die DynamicRendering-Eigenschaft auf false fest.

Das Gesture-Ereignis wird nicht nur bei Freihandeingaben ausgelöst, sondern auch, wenn der InkOverlayEditingMode-Enumerationswert Select oder Delete angewendet wird. 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 InkPicture-Steuerelement 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 InkPicture-Objekt mInkPicture vier Stiftbewegungen der ApplicationGesture-Enumeration an.

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

Vor dem Erfassen von Freihandeingaben und Stiftbewegungen, registriert das InkPicture-Objekt mit dem Namen mInkPicture den Ereignishandler.

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

InkPicture-Klasse

InkPicture-Member

Microsoft.Ink-Namespace

ApplicationGesture

InkCollectorGestureEventArgs

InkOverlayEditingMode

InkPicture.SetGestureStatus