Bagikan melalui


DispatcherTimer Kelas

Definisi

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

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. Ketika operasi dijalankan DispatcherTimer tergantung pada pekerjaan lain dalam antrean dan prioritasnya.

System.Timers.Timer Jika digunakan dalam aplikasi WPF, perlu dicatat bahwa System.Timers.Timer eksekusi 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 DispatcherTimerSystem.Timers.Timer dibandingkan dengan adalah bahwa DispatcherTimer eksekusi pada utas yang sama dengan Dispatcher dan DispatcherPriority dapat diatur pada DispatcherTimer.

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

Konstruktor

DispatcherTimer()

Menginisialisasi instans baru kelas DispatcherTimer.

DispatcherTimer(DispatcherPriority)

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

DispatcherTimer(DispatcherPriority, Dispatcher)

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

DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher)

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

Properti

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

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 instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
Start()

DispatcherTimerMemulai .

Stop()

DispatcherTimerMenghentikan .

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Acara

Tick

Terjadi ketika interval timer telah berlalu.

Berlaku untuk