Partager via


InkCollector.Gesture, événement

Mise à jour : November 2007

Se produit lorsqu'un mouvement d'application est reconnu.

Espace de noms :  Microsoft.Ink
Assembly :  Microsoft.Ink (dans Microsoft.Ink.dll)

Syntaxe

'Déclaration
Public Event Gesture As InkCollectorGestureEventHandler
'Utilisation
Dim instance As InkCollector
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 ne prend pas en charge les événements.

Notes

Pour que cet événement se produise, l'objet InkCollector doit avoir un intérêt dans un ensemble de mouvements d'application. Pour définir l'intérêt de l'objet InkCollector dans un ensemble de mouvements, appelez la méthode SetGestureStatus.

Pour obtenir la liste des mouvements d'application spécifiques, consultez l'énumération ApplicationGesture. Pour plus d'informations sur les mouvements d'application, consultez Pen Input, Ink, and Recognition.

Le gestionnaire d'événements reçoit un argument de type InkCollectorGestureEventArgs qui contient des données concernant cet événement.

Lorsque vous créez un délégué InkCollectorGestureEventHandler, vous identifiez la méthode qui gère l'événement. Pour associer l'événement au gestionnaire d'événements, ajoutez une instance du délégué à l'événement. Le gestionnaire d'événements est appelé chaque fois qu'un événement se produit, sauf si vous supprimez le délégué.

Lorsque la propriété CollectionMode a la valeur GestureOnly, le délai d'attente entre le moment où un utilisateur ajoute un mouvement et celui où l'événement Gesture se produit est une valeur fixe que vous ne pouvez pas vous modifier par programme. La reconnaissance de mouvement est plus rapide en mode InkAndGesture.

Pour éviter la collecte d'entrée manuscrite en mode InkAndGesture :

Affectez la valeur InkAndGesture à CollectionMode.

  • Supprimez l'objet Stroke dans l'événement Stroke.

  • Traitez le mouvement dans l'événement Gesture.

Pour arrêter le flux d'entrée manuscrite pendant un mouvement, affectez la valeur false à la propriété DynamicRendering.

L'événement Gesture se déclenche lorsque l'utilisateur insère une entrée manuscrite mais également lorsque l'objet InkCollector est en mode de sélection ou de suppression. Vous êtes chargé du suivi du mode de modification et vous devez connaître le mode avant d'interpréter l'événement.

ms567615.alert_note(fr-fr,VS.90).gifRemarque :

Pour reconnaître des mouvements, vous devez utiliser un objet ou un contrôle capable de collecter l'entrée manuscrite.

ms567615.alert_note(fr-fr,VS.90).gifRemarque :

L'objet InkCollector utilise le délégué InkCollectorGestureEventHandler pour ajouter un gestionnaire d'événements de mouvement.

Exemples

Dans cet exemple, le gestionnaire d'événements affiche des informations sur les mouvements d'application sur une étiquette de barre d'état, statusLabelAppGesture.

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

}

Seuls les mouvements d'application pour lesquels vous avez exprimé un intérêt déclencheront cet événement. Dans cet exemple, l'objet InkCollector, mInkCollector exprime un intérêt pour quatre mouvements de l'énumération ApplicationGesture.

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

Avant la collecte d'entrée manuscrite et de mouvements, l'objet InkCollector, mInkCollector, enregistre le gestionnaire d'événements.

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

Plateformes

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Framework

Pris en charge dans : 3.0

Voir aussi

Référence

InkCollector, classe

Membres InkCollector

Microsoft.Ink, espace de noms

InkCollectorGestureEventArgs

ApplicationGesture

InkCollector.SetGestureStatus