InkCollectorCursorDownEventHandler-Delegat
Stellt die Methode dar, die das CursorDown-Ereignis eines InkCollector-Objekts behandelt.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in Microsoft.Ink.dll)
Syntax
'Declaration
Public Delegate Sub InkCollectorCursorDownEventHandler ( _
sender As Object, _
e As InkCollectorCursorDownEventArgs _
)
'Usage
Dim instance As New InkCollectorCursorDownEventHandler(AddressOf HandlerMethod)
public delegate void InkCollectorCursorDownEventHandler(
Object sender,
InkCollectorCursorDownEventArgs e
)
public delegate void InkCollectorCursorDownEventHandler(
Object^ sender,
InkCollectorCursorDownEventArgs^ e
)
/** @delegate */
public delegate void InkCollectorCursorDownEventHandler(
Object sender,
InkCollectorCursorDownEventArgs e
)
JScript unterstützt keine Delegaten.
Parameter
- sender
Typ: System.Object
Das InkCollector-Quellobjekt dieses Ereignisses.
- e
Typ: Microsoft.Ink.InkCollectorCursorDownEventArgs
Das InkCollectorCursorDownEventArgs-Objekt, das die Ereignisdaten enthält.
Hinweise
Beim Erstellen eines InkCollectorCursorDownEventHandler-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. Aus Leistungsgründen ist das Standardinteresse an einem Ereignis deaktiviert, es wird jedoch automatisch im verwalteten Code aktiviert, wenn Sie einen Ereignishandler hinzufügen.
Dieses Ereignis kann sich nachteilig auf das Verhalten von Freihandeingaben auswirken, wenn der Umfang des in den Ereignishandlern ausgeführten Codes zu groß ist.
Um die Echtzeitleistung von Freihandeingaben zu erhöhen, blenden Sie den Mauszeiger während der Freihandeingabe aus. Zu diesem Zweck blenden Sie den Mauszeiger im MouseDown-Ereignishandler aus und zeigen den Mauszeiger im MouseUp-Ereignishandler an.
Beispiele
In diesem Beispiel wird veranschaulicht, wie Sie das CursorDown-Ereignis und das Stroke-Ereignis abonnieren können, um zu berechnen, wieviel Zeit der Benutzer zum Erstellen eines Strichs benötigt.
Am Anfang eines Strichs wird das CursorDown-Ereignis ausgelöst. Die aktuelle Zeit wird in der ExtendedProperties-Auflistung des Stroke-Objekts platziert.
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);
}
Wenn der Strich abgeschlossen ist, wird das Stroke-Ereignis ausgelöst. Die Startzeit wird aus der ExtendedProperties-Auflistung des Stroke-Objekts abgerufen und zum Berechnen der verstrichenen Zeit verwendet.
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();
}
}
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