Bibliothèque de classes .NET Framework
DispatcherTimer, classe

Mise à jour : novembre 2007

Minuterie intégrée dans la file d'attente de Dispatcher qui est traitée à un intervalle de temps et selon une priorité spécifiés.

Espace de noms :  System.Windows.Threading
Assembly :  WindowsBase (dans WindowsBase.dll)
XMLNS pour XAML : Non mappé à un xmlns.

Syntaxe

Visual Basic (Déclaration)
Public Class DispatcherTimer
Visual Basic (Utilisation)
Dim instance As DispatcherTimer
C#
public class DispatcherTimer
VisualC++
public ref class DispatcherTimer
J#
public class DispatcherTimer
JScript
public class DispatcherTimer
XAML
<p>Cette classe managée n'est généralement pas utilisée en XAML.</p>
Notes

DispatcherTimer est réévalué en haut de chaque boucle Dispatcher.

Les minuteries ne se déclencheront peut-être pas exactement durant l'intervalle de temps défini, mais il est garanti qu'elles ne se déclencheront pas avant. Ceci est dû au fait que les opérations DispatcherTimer sont placées dans la file d'attente Dispatcher tout comme les autres opérations. Le moment d'exécution de l'opération DispatcherTimer dépend des autres travaux de la file d'attente et de leur priorité.

Si System.Timers..::.Timer est utilisé dans une application WPF, il convient de noter que System.Timers..::.Timer s'exécute sur un thread autre que le thread interface utilisateur (UI). Pour accéder aux objets du thread interface utilisateur (UI), il faut publier l'opération sur le Dispatcher du thread interface utilisateur (UI) à l'aide de Invoke ou BeginInvoke. Pour obtenir un exemple d'utilisation de System.Timers..::.Timer, consultez Désactiver une source de commande via une horloge système, exemple. L'utilisation de DispatcherTimer au lieu de System.Timers..::.Timer est justifiée par le fait que DispatcherTimer s'exécute sur le même thread que Dispatcher et que DispatcherPriority peut être défini sur DispatcherTimer.

DispatcherTimer garde un objet actif lorsque les méthodes de l'objet sont liées à la minuterie.

Exemples

L'exemple suivant crée DispatcherTimer qui met à jour le contenu de Label et appelle la méthode InvalidateRequerySuggested sur CommandManager. Pour obtenir l'exemple complet, consultez Désactiver une source de commande via DispatcherTimer, exemple.

Un objet DispatcherTimer appelé dispatcherTimer est créé. Le gestionnaire d'événements dispatcherTimer_Tick est ajouté à l'événement Tick de dispatcherTimer. La valeur 1 seconde est affectée à Interval à l'aide d'un objet TimeSpan et la minuterie est démarrée.

C#
//  DispatcherTimer setup
dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,1);
dispatcherTimer.Start();

Le gestionnaire d'événements Tick met à jour Label qui affiche la seconde actuelle, et il appelle InvalidateRequerySuggested sur CommandManager.

C#
//  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();
}
Hiérarchie d'héritage

System..::.Object
  System.Windows.Threading..::.DispatcherTimer
Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Plateformes

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Framework

Pris en charge dans : 3.5, 3.0
Voir aussi

Référence

Autres ressources

Mots clés :


Page view tracker