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

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

という名前dispatcherTimerのオブジェクトが作成されます。DispatcherTimerA DispatcherTimer object named dispatcherTimer is created. イベントハンドラー dispatcherTimer_Tickは、のTick dispatcherTimerイベントに追加されます。The event handler dispatcherTimer_Tick is added to the Tick event of dispatcherTimer. IntervalTimeSpanオブジェクトを使用して1秒に設定され、タイマーが開始されます。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の秒を表示するを更新CommandManagerし、 InvalidateRequerySuggestedでを呼び出します。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使用する場合は、 System.Timers.Timerがスレッドとユーザー インターフェイス (UI)user interface (UI)は異なるスレッドで実行されることに注意してください。 WPFWPFIf 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)スレッド上のオブジェクトにアクセスするには、またはBeginInvokeを使用してInvoke 、操作Dispatcherユーザー インターフェイス (UI)user interface (UI)スレッドのにポストする必要があります。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 、がと同じスレッドDispatcher DispatcherPriorityで実行され、がに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.

DispatcherTimer 、オブジェクトのメソッドがタイマーにバインドされるたびに、オブジェクトを維持します。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.

適用対象