apa bedanya between System.Windows.Forms.Timer()
dan System.Windows.Threading.DispatcherTimer()
? Dalam kasus mana, kita harus menggunakannya? ada praktik terbaik?
Windows.Forms.Timer
menggunakan loop pesan bentuk jendela untuk memproses peristiwa timer. Ini harus digunakan saat menulis kejadian waktu yang sedang digunakan dalam aplikasi Windows Forms, dan Anda ingin pengatur waktu diaktifkan pada utas UI utama.
DispatcherTimer
adalah mekanisme waktu WPF. Ini harus digunakan ketika Anda ingin menangani pengaturan waktu dengan cara yang sama (meskipun ini tidak terbatas pada satu utas - setiap utas memiliki operatornya sendiri) dan Anda menggunakan WPF. Ini mengaktifkan acara di utas yang sama dengan Dispatcher.
Secara umum, WPF == DispatcherTimer
dan Windows Forms == Forms.Timer
.
Bisa dikatakan, ada juga System.Threading.Timer
, yang merupakan pengatur waktu class
yang menyala pada utas terpisah. Ini bagus untuk pengaturan waktu numerik murni, di mana Anda tidak mencoba memperbarui UI, dll.
Saya telah menemukan artikel bagus tentang pengatur waktu dengan contoh kecil di sini: http://www.progware.org/Blog/post/Timers-in-WPF.aspx
Sebagai sebuah kesimpulan:
sumber