次の方法で共有


Clock.TickCount プロパティ

定義

コンピューターのシステム タイマーからミリ秒の数を取得します。

public:
 property int TickCount { int get(); };
public int TickCount { get; }
member this.TickCount : int
Public ReadOnly Property TickCount As Integer

プロパティ値

コンピューターのシステム タイマーからのミリ秒単位のカウントを含む Integer

次の例では、 My.Computer.Clock.TickCount プロパティを使用して、実行中にコンピューターのシステム時間が変化した場合でも、特定の秒数だけループでタスクを実行します。

Public Sub LoopTask(ByVal secondsToRun As Integer)
    Dim startTicks As Integer = My.Computer.Clock.TickCount
    Do While IsTimeUp(startTicks, secondsToRun)
        ' Code to run for at least secondsToRun seconds goes here.
    Loop
End Sub

Private Function IsTimeUp(
    ByVal startTicks As Integer,
    ByVal seconds As Integer
) As Boolean
    ' This function throws an overflow exception if the
    ' tick count difference is greater than 2,147,483,647,  
    ' about 24 days for My.Computer.Clock.TickCount.

    ' Use UInteger to simplify the code for roll over.
    Dim uStart As UInteger =
        CUInt(CLng(startTicks) - Integer.MinValue)
    Dim uCurrent As UInteger =
        CUInt(CLng(My.Computer.Clock.TickCount) - Integer.MinValue)

    ' Calculate the tick count difference.
    Dim tickCountDifference As UInteger
    If uStart <= uCurrent Then
        tickCountDifference = uCurrent - uStart
    Else
        ' Tick count rolled over.
        tickCountDifference = UInteger.MaxValue - (uStart - uCurrent)
    End If

    ' Convert seconds to milliseconds and compare.
    Return CInt(tickCountDifference) < (seconds * 1000)
End Function

注釈

TickCount プロパティは、コンピューターがアクティブな場合に実行されるコンピューターのシステム タイマーへのアクセスを提供します。 タイマーの解像度は 500 ミリ秒未満です。

このプロパティを使用すると、アプリケーションの動作を実行している時間の長さに依存させたり、イベントにラベルを付けたりすることができます。どちらのイベントも、コンピューターのクロックに依存しません。

注意事項

TickCount プロパティの値が最大整数値 (MaxValue) に達すると、最小値 (MinValue)、負の数にジャンプし、インクリメントを続けます。

コンピューターが継続的に実行される場合、 TickCount は約 24.9 日間で 0 から最大整数値にインクリメントされます。

TickCount プロパティは、オペレーティング システムが実行されている場合にのみインクリメントされます。コンピューターがスタンバイや休止状態などの特定の省電力モードになると一時停止します。 TickCount プロパティは、コンピューターのクロック設定とは無関係です。

LocalTime プロパティまたは GmtTime プロパティを使用して、このコンピューター上の現在のローカル日時を取得します。

My.Computer.Clock.TickCount プロパティの動作は、Environment.TickCount プロパティと同じです。

プロジェクトの種類別の可用性

プロジェクトの種類 在庫有り
Windows アプリケーション はい
クラス ライブラリ はい
コンソール アプリケーション はい
Windows コントロール ライブラリ はい
Web コントロール ライブラリ はい
Windows サービス はい
ウェブサイト はい

適用対象

こちらもご覧ください