ce qui est une différence between System.Windows.Forms.Timer()
et System.Windows.Threading.DispatcherTimer()
? Dans quel cas, nous devrions les utiliser? toutes les meilleures pratiques ?
Réponses
Trop de publicités?De Windows.Les formulaires.Minuterie utilise le windows forms boucle de message pour traiter les événements de la minuterie. Il doit être utilisé lors de l'écriture des événements de synchronisation qui sont utilisés dans les applications Windows Forms, et que vous voulez la minuterie à feu sur le main thread d'INTERFACE utilisateur.
Minuterie est le WPF mécanisme de synchronisation. Il doit être utilisé lorsque vous souhaitez gérer le timing de manière similaire (bien que ce n'est pas limité à un seul thread - chaque thread a son propre répartiteur) et vous êtes à l'aide de WPF. Il déclenche l'événement sur le même thread que le Répartiteur.
En général, WPF==Minuterie et Windows Forms==Formes.Minuterie.
Cela étant dit, il est également Système.Le filetage.Minuterie, qui est une classe timer qui déclenche un thread séparé. C'est bon pour purement numérique calendrier, où vous êtes, ne pas essayer de mettre à jour l'INTERFACE utilisateur, etc.
J'ai trouvé un bon article sur les minuteurs avec des petits exemples ici: http://www.progware.org/Blog/post/Timers-in-WPF.aspx