DispatcherTimer Kelas

Definisi

Timer yang diintegrasikan ke dalam Dispatcher antrean yang diproses pada interval waktu tertentu dan pada prioritas yang ditentukan.

public ref class DispatcherTimer
public class DispatcherTimer
type DispatcherTimer = class
Public Class DispatcherTimer
Warisan
DispatcherTimer

Contoh

Contoh berikut membuat DispatcherTimer yang memperbarui konten Label dan memanggil InvalidateRequerySuggested metode pada CommandManager.

Objek DispatcherTimer bernama dispatcherTimer dibuat. Penanganan aktivitas dispatcherTimer_Tick ditambahkan ke Tick peristiwa dispatcherTimer. Interval diatur ke 1 detik menggunakan TimeSpan objek, dan timer dimulai.

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

Penanganan Tick aktivitas memperbarui Label yang menampilkan detik saat ini, dan memanggil InvalidateRequerySuggested di 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

Keterangan

DispatcherTimer dievaluasi kembali di bagian atas setiap Dispatcher perulangan.

Timer tidak dijamin untuk dijalankan tepat ketika interval waktu terjadi, tetapi dijamin tidak dijalankan sebelum interval waktu terjadi. Ini karena DispatcherTimer operasi ditempatkan pada antrean Dispatcher seperti operasi lainnya. DispatcherTimer Ketika operasi dijalankan tergantung pada pekerjaan lain dalam antrean dan prioritasnya.

Jika System.Timers.Timer digunakan dalam aplikasi WPF, perlu dicatat bahwa System.Timers.Timer berjalan pada utas yang berbeda dari utas antarmuka pengguna (UI). Untuk mengakses objek pada utas antarmuka pengguna (UI), perlu untuk memposting operasi ke Dispatcher utas antarmuka pengguna (UI) menggunakan Invoke atau BeginInvoke. Alasan untuk menggunakan DispatcherTimer dibandingkan System.Timers.Timer dengan adalah bahwa DispatcherTimer eksekusi pada utas yang sama dengan Dispatcher dan dapat DispatcherPriority diatur pada DispatcherTimer.

Akan DispatcherTimer membuat objek tetap hidup setiap kali metode objek terikat ke timer.

Konstruktor

Nama Deskripsi
DispatcherTimer()

Menginisialisasi instans baru dari kelas DispatcherTimer.

DispatcherTimer(DispatcherPriority, Dispatcher)

Menginisialisasi instans DispatcherTimer baru kelas yang berjalan pada yang ditentukan Dispatcher pada prioritas yang ditentukan.

DispatcherTimer(DispatcherPriority)

Menginisialisasi instans DispatcherTimer baru kelas yang memproses peristiwa timer pada prioritas yang ditentukan.

DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher)

Menginisialisasi instans DispatcherTimer baru kelas yang menggunakan interval waktu, prioritas, penanganan aktivitas, dan Dispatcher.

Properti

Nama Deskripsi
Dispatcher

Mendapatkan yang Dispatcher terkait dengan ini DispatcherTimer.

Interval

Mendapatkan atau mengatur periode waktu antara tanda waktu.

IsEnabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah timer sedang berjalan.

Tag

Mendapatkan atau mengatur objek data yang ditentukan pengguna.

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
Start()

DispatcherTimerMemulai .

Stop()

DispatcherTimerMenghentikan .

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Acara

Nama Deskripsi
Tick

Terjadi ketika interval timer telah berlalu.

Berlaku untuk