DispatcherTimer DispatcherTimer DispatcherTimer DispatcherTimer Class

定義

指定した時間の間隔で、指定した優先順位で処理される Dispatcher キューに統合されているタイマー。A timer that is integrated into the Dispatcher queue which is processed at a specified interval of time and at a specified priority.

public ref class DispatcherTimer
public class DispatcherTimer
type DispatcherTimer = class
Public Class DispatcherTimer
継承
DispatcherTimerDispatcherTimerDispatcherTimerDispatcherTimer

次の例では、作成、DispatcherTimerの内容を更新する、Labelを呼び出すと、InvalidateRequerySuggestedメソッドをCommandManagerします。The following example creates a DispatcherTimer that updates the contents of a Label and calls the InvalidateRequerySuggested method on the CommandManager.

ADispatcherTimerという名前のオブジェクトdispatcherTimerが作成されます。A DispatcherTimer object named dispatcherTimer is created. イベント ハンドラーdispatcherTimer_Tickに追加されます、TickのイベントdispatcherTimerします。The event handler dispatcherTimer_Tick is added to the Tick event of dispatcherTimer. Intervalを使用して 1 秒に設定されている、TimeSpanオブジェクト、およびタイマーを開始します。The Interval is set to 1 second using a TimeSpan object, and the timer is started.

//  DispatcherTimer setup
dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,1);
dispatcherTimer.Start();
'  DispatcherTimer setup
dispatcherTimer = New Threading.DispatcherTimer()
AddHandler dispatcherTimer.Tick, AddressOf dispatcherTimer_Tick
dispatcherTimer.Interval = New TimeSpan(0,0,1)
dispatcherTimer.Start()

Tickイベント ハンドラーの更新プログラム、Label第 2 に、現在表示し、呼び出すInvalidateRequerySuggested上、CommandManagerします。The Tick event handler updates a Label that displays the current second, and it calls InvalidateRequerySuggested on the CommandManager.

//  System.Windows.Threading.DispatcherTimer.Tick handler
//
//  Updates the current seconds display and calls
//  InvalidateRequerySuggested on the CommandManager to force 
//  the Command to raise the CanExecuteChanged event.
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
    // Updating the Label which displays the current second
    lblSeconds.Content = DateTime.Now.Second;

    // Forcing the CommandManager to raise the RequerySuggested event
    CommandManager.InvalidateRequerySuggested();
}
'  System.Windows.Threading.DispatcherTimer.Tick handler
'
'  Updates the current seconds display and calls
'  InvalidateRequerySuggested on the CommandManager to force 
'  the Command to raise the CanExecuteChanged event.
Private Sub dispatcherTimer_Tick(ByVal sender As Object, ByVal e As EventArgs)
	' Updating the Label which displays the current second
	lblSeconds.Content = Date.Now.Second

	' Forcing the CommandManager to raise the RequerySuggested event
	CommandManager.InvalidateRequerySuggested()
End Sub

注釈

DispatcherTimerは再評価の上部にあるすべてDispatcherループします。The DispatcherTimer is reevaluated at the top of every Dispatcher loop.

タイマーが時間間隔が発生したが、時間間隔で発生する前に実行が保証されているときに正確に実行する保証はありません。Timers are not guaranteed to execute exactly when the time interval occurs, but they are guaranteed to not execute before the time interval occurs. これは、ためDispatcherTimer操作は、上に配置されます、Dispatcherなどその他の操作のキュー。This is because DispatcherTimer operations are placed on the Dispatcher queue like other operations. ときに、DispatcherTimer操作の実行は、キューおよび優先順位の他のジョブに依存します。When the DispatcherTimer operation executes is dependent on the other jobs in the queue and their priorities.

場合、System.Timers.Timerで使用されて、WPFWPFする注目すべきは、アプリケーション、System.Timers.Timerとは異なるスレッド上で実行、ユーザー インターフェイス (UI)user interface (UI)スレッド。If a System.Timers.Timer is used in a WPFWPF application, it is worth noting that the System.Timers.Timer runs on a different thread than the ユーザー インターフェイス (UI)user interface (UI) thread. オブジェクトにアクセスするために、ユーザー インターフェイス (UI)user interface (UI)投稿を操作する必要がある、スレッド、Dispatcherユーザー インターフェイス (UI)user interface (UI)スレッドを使用してInvokeまたはBeginInvokeします。In order to access objects on the ユーザー インターフェイス (UI)user interface (UI) thread, it is necessary to post the operation onto the Dispatcher of the ユーザー インターフェイス (UI)user interface (UI) thread using Invoke or BeginInvoke. 使用する理由、DispatcherTimerではなく、System.Timers.Timerことが、DispatcherTimerと同じスレッド上で実行、DispatcherDispatcherPriorityに設定することができます、DispatcherTimerします。Reasons for using a DispatcherTimer as opposed to a System.Timers.Timer are that the DispatcherTimer runs on the same thread as the Dispatcher and a DispatcherPriority can be set on the DispatcherTimer.

ADispatcherTimerは維持オブジェクト、オブジェクトのメソッドは、タイマーにバインドされるたびにします。A DispatcherTimer will keep an object alive whenever the object's methods are bound to the timer.

コンストラクター

DispatcherTimer() DispatcherTimer() DispatcherTimer() DispatcherTimer()

DispatcherTimer クラスの新しいインスタンスを初期化します。Initializes a new instance of the DispatcherTimer class.

DispatcherTimer(DispatcherPriority) DispatcherTimer(DispatcherPriority) DispatcherTimer(DispatcherPriority) DispatcherTimer(DispatcherPriority)

指定した優先順位でタイマー イベントを処理する DispatcherTimer クラスの新しいインスタンスを初期化します。Initializes a new instance of the DispatcherTimer class which processes timer events at the specified priority.

DispatcherTimer(DispatcherPriority, Dispatcher) DispatcherTimer(DispatcherPriority, Dispatcher) DispatcherTimer(DispatcherPriority, Dispatcher) DispatcherTimer(DispatcherPriority, Dispatcher)

指定した DispatcherTimer で、指定した優先順位で実行される Dispatcher クラスの新しいインスタンスを初期化します。Initializes a new instance of the DispatcherTimer class which runs on the specified Dispatcher at the specified priority.

DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher) DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher) DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher) DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher)

指定した時間間隔、優先順位、イベント ハンドラー、および DispatcherTimer を使用する Dispatcher クラスの新しいインスタンスを初期化します。Initializes a new instance of the DispatcherTimer class which uses the specified time interval, priority, event handler, and Dispatcher.

プロパティ

Dispatcher Dispatcher Dispatcher Dispatcher

この Dispatcher に関連付けられている DispatcherTimer を取得します。Gets the Dispatcher associated with this DispatcherTimer.

Interval Interval Interval Interval

タイマー刻みの間隔の時間を取得または設定します。Gets or sets the period of time between timer ticks.

IsEnabled IsEnabled IsEnabled IsEnabled

タイマーが実行されているかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the timer is running.

Tag Tag Tag Tag

ユーザー定義のデータ オブジェクトを取得または設定します。Gets or sets a user-defined data object.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
Start() Start() Start() Start()

DispatcherTimer を開始します。Starts the DispatcherTimer.

Stop() Stop() Stop() Stop()

DispatcherTimer を停止します。Stops the DispatcherTimer.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

イベント

Tick Tick Tick Tick

タイマー間隔が経過すると発生します。Occurs when the timer interval has elapsed.

適用対象