InkPicture.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 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 ne prend pas en charge les événements.
Notes
Pour que cet événement se produise, le contrôle InkPicture doit avoir un intérêt dans un ensemble de mouvements d'application. Pour définir l'intérêt du contrôle InkPicture dans un ensemble de mouvements, appelez la méthode SetGestureStatus.
Pour obtenir la liste des mouvements d'application spécifiques, consultez le type énumération ApplicationGesture. Pour plus d'informations sur les mouvements d'application, consultez Using Gestures et Command Input on the Tablet PC.
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 modifier par programme. La reconnaissance de mouvement est plus rapide en mode InkAndGesture.
Pour empêcher la collecte d'entrée manuscrite en mode InkAndGesture :
Affectez la valeur InkAndGesture à la propriété CollectionMode.
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 non seulement pendant l'insertion d'entrée manuscrite, mais également lorsque la valeur d'énumération InkOverlayEditingModeSélection ou Suppression est appliquée. Vous êtes chargé du suivi du mode de modification et vous devez connaître le mode avant d'interpréter l'événement.
Remarque : |
---|
Pour reconnaître des mouvements, vous devez utiliser un objet ou un contrôle capable de collecter l'entrée manuscrite. |
Remarque : |
---|
Le contrôle InkPicture 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 InkPicture, mInkPicture exprime un intérêt pour quatre mouvements de l'énumération ApplicationGesture.
' 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);
Avant la collecte d'entrée manuscrite et de mouvements, l'objet InkPicture, mInkPicture, enregistre le gestionnaire d'événements.
' register the Gesture event handler
AddHandler mInkPicture.Gesture, New InkCollectorGestureEventHandler(AddressOf Event_OnApplicationGesture)
// register the Gesture event handler
mInkPicture.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