Partager via


InkOverlay.CursorDown, événement

Mise à jour : November 2007

Se produit lorsque l'extrémité du curseur entre en contact avec la surface de tablette graphique.

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

Syntaxe

'Déclaration
Public Event CursorDown As InkCollectorCursorDownEventHandler
'Utilisation
Dim instance As InkOverlay
Dim handler As InkCollectorCursorDownEventHandler

AddHandler instance.CursorDown, handler
public event InkCollectorCursorDownEventHandler CursorDown
public:
 event InkCollectorCursorDownEventHandler^ CursorDown {
    void add (InkCollectorCursorDownEventHandler^ value);
    void remove (InkCollectorCursorDownEventHandler^ value);
}
/** @event */
public void add_CursorDown (InkCollectorCursorDownEventHandler value)
/** @event */
public void remove_CursorDown (InkCollectorCursorDownEventHandler value)
JScript ne prend pas en charge les événements.

Notes

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

Lorsque vous créez un délégué InkCollectorCursorDownEventHandler, 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é. Pour des raisons de performances, l'intérêt d'événement par défaut est désactivé. Toutefois, il est automatiquement activé si vous ajoutez un gestionnaire d'événements.

Cet événement peut produire un effet indésirable sur les performances d'entrée manuscrite si les gestionnaires d'événements exécutent trop de code. Pour améliorer la performance d'entrée manuscrite en temps réel, masquez le curseur de la souris lors de l'entrée manuscrite. Pour cela, masquez le curseur de la souris dans le gestionnaire d'événements MouseDown et affichez-le dans le gestionnaire d'événements MouseUp.

Exemples

Cet exemple montre comment vous pouvez vous abonner à l'événement CursorDown, et à l'événement Stroke pour calculer le temps nécessaire à l'utilisateur pour créer un trait.

Au départ d'un trait, l'événement CursorDown se déclenche. L'heure actuelle est placée dans la collection ExtendedProperties de l'objet Stroke.

Private Sub mInkObject_CursorDown(ByVal sender As Object, ByVal e As InkCollectorCursorDownEventArgs)
    ' add extended property indicating the time the stroke started
    ' STROKE_START_GUID is class level string via GUID generator
    e.Stroke.ExtendedProperties.Add(New Guid(STROKE_START_GUID), DateTime.Now)
End Sub
private void mInkObject_CursorDown(object sender, InkCollectorCursorDownEventArgs e)
{
    // add extended property indicating the time the stroke started
    // STROKE_START_GUID is class level string via GUID generator
    e.Stroke.ExtendedProperties.Add(new Guid(STROKE_START_GUID), DateTime.Now);
}

Lorsque le trait est terminé, l'événement Stroke se déclenche. L'heure de début est récupérée à partir de la collection ExtendedProperties de l'objet Stroke et utilisée pour calculer le temps écoulé.

Private Sub mInkObject_Stroke1(ByVal sender As Object, ByVal e As InkCollectorStrokeEventArgs)
    ' check to see if extended property for start time exists
    ' Attempting to access an extended property that hasn't been created throws an exception
    ' STROKE_START_GUID is class level string via GUID generator
    If (e.Stroke.ExtendedProperties.DoesPropertyExist(New Guid(STROKE_START_GUID))) Then

        Dim startTime As DateTime = DirectCast(e.Stroke.ExtendedProperties(New Guid(STROKE_START_GUID)).Data, DateTime)
        Dim endTime As DateTime = DateTime.Now
        Dim span As TimeSpan = New TimeSpan(endTime.Ticks - startTime.Ticks)

        ' add extended property indicating the time the stroke ended
        ' STROKE_END_GUID is class level string via GUID generator
        e.Stroke.ExtendedProperties.Add(New Guid(STROKE_END_GUID), endTime)

        ' display the number of seconds in creating this stroke
        Me.statusLabelStrokeTime.Text = span.TotalSeconds.ToString()
    End If
End Sub
private void mInkObject_Stroke1(object sender, InkCollectorStrokeEventArgs e)
{
    // check to see if extended property for start time exists
    // Attempting to access an extended property that hasn't been created throws an exception
    // STROKE_START_GUID is class level string via GUID generator
    if (e.Stroke.ExtendedProperties.DoesPropertyExist(new Guid(STROKE_START_GUID)))
    {
        DateTime startTime = (DateTime)e.Stroke.ExtendedProperties[new Guid(STROKE_START_GUID)].Data;
        DateTime endTime = DateTime.Now;
        TimeSpan span = new TimeSpan(endTime.Ticks - startTime.Ticks);

        // add extended property indicating the time the stroke ended
        // STROKE_END_GUID is class level string via GUID generator
        e.Stroke.ExtendedProperties.Add(new Guid(STROKE_END_GUID), endTime);

        // display the number of seconds in creating this stroke
        this.statusLabelStrokeTime.Text = span.TotalSeconds.ToString();
    }
}

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

InkOverlay, classe

Membres InkOverlay

Microsoft.Ink, espace de noms

Cursor

CursorButton

InkCollectorCursorDownEventArgs

InkOverlay.CursorButtonUp

InkOverlay.CursorDown