InkOverlay.CursorDown 事件
当光标尖与数字化 Tablet 表面接触时发生。
命名空间: Microsoft.Ink
程序集: Microsoft.Ink(在 Microsoft.Ink.dll 中)
语法
声明
Public Event CursorDown As InkCollectorCursorDownEventHandler
用法
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 不支持事件。
备注
事件处理程序接收 InkCollectorCursorDownEventArgs 类型的参数,该参数包含有关此事件的数据。
创建 InkCollectorCursorDownEventHandler 委托时,需要标识将处理该事件的方法。若要将该事件与事件处理程序关联,请将该委托的一个实例添加到事件中。除非移除了该委托,否则每当发生该事件时就会调用此事件处理程序。出于性能方面的原因,默认事件关注处于关闭状态,但如果添加事件处理程序,它将自动打开。
如果在事件处理程序中执行太多代码,则此事件可能对墨迹 性能产生不利影响。若要提高实时墨迹性能,请在墨迹书写时隐藏鼠标光标。为此,请在 MouseDown 事件处理程序中隐藏鼠标光标,并在 MouseUp 事件处理程序中显示鼠标光标。
示例
此示例演示如何订阅 CursorDown 事件和 Stroke 事件来计算用户创建笔画所用的时间长度。
在笔画开始时,会激发 CursorDown 事件。当前时间会放置在 Stroke 对象的 ExtendedProperties 集合中。
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);
}
笔画完成时,会激发 Stroke 事件。起始时间是从 Stroke 对象的 ExtendedProperties 集合中获取的,可用于计算所用的时间。
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();
}
}
平台
Windows Vista
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
版本信息
.NET Framework
受以下版本支持:3.0
另请参见
参考
InkCollectorCursorDownEventArgs
InkOverlay.CursorDown