次の方法で共有


InkCollectorCursorDownEventHandler デリゲート

InkCollector オブジェクトの CursorDown イベントを処理するメソッドを表します。

名前空間 :  Microsoft.Ink
アセンブリ :  Microsoft.Ink (Microsoft.Ink.dll 内)

構文

'宣言
Public Delegate Sub InkCollectorCursorDownEventHandler ( _
    sender As Object, _
    e As InkCollectorCursorDownEventArgs _
)
'使用
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 では、デリゲートは使用できません。

パラメータ

解説

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

参照

参照

Microsoft.Ink 名前空間

InkCollector.CursorDown

InkCollector

InkCollectorCursorDownEventArgs