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:
Legen Sie CollectionMode auf InkAndGesture fest.
Verarbeiten Sie die Stiftbewegung im Gesture-Ereignis.
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