DispatcherTimer Classe

Définition

Minuteur intégré à la Dispatcher file d’attente qui est traité à un intervalle de temps spécifié et à une priorité spécifiée.

public ref class DispatcherTimer
public class DispatcherTimer
type DispatcherTimer = class
Public Class DispatcherTimer
Héritage
DispatcherTimer

Exemples

L’exemple suivant crée un DispatcherTimer qui met à jour le contenu d’un Label et appelle la InvalidateRequerySuggested méthode sur le CommandManager.

Un DispatcherTimer objet nommé dispatcherTimer est créé. Le gestionnaire d’événements dispatcherTimer_Tick est ajouté à l’événement Tick de dispatcherTimer. La Interval valeur est définie sur 1 seconde à l’aide d’un TimeSpan objet et le minuteur est démarré.

//  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()

Le Tick gestionnaire d’événements met à jour un Label qui affiche la seconde actuelle et appelle InvalidateRequerySuggested le 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

Remarques

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

Les minuteurs ne sont pas garantis pour s’exécuter exactement lorsque l’intervalle de temps se produit, mais ils sont garantis de ne pas s’exécuter avant l’intervalle de temps. Cela est dû au fait que DispatcherTimer les opérations sont placées dans la Dispatcher file d’attente comme d’autres opérations. Lorsque l’opération DispatcherTimer s’exécute dépend des autres travaux de la file d’attente et de leurs priorités.

Si une System.Timers.Timer est utilisée dans une application WPF, il est important de noter que le System.Timers.Timer s’exécute sur un thread différent de celui du thread d’interface utilisateur. Pour accéder aux objets sur le thread d’interface utilisateur, il est nécessaire de publier l’opération sur le Dispatcher thread d’interface utilisateur à l’aide Invoke ou BeginInvoke. Les raisons d’utiliser un DispatcherTimer par opposition à un System.Timers.Timer sont que les DispatcherTimer exécutions sur le même thread que le Dispatcher et un DispatcherPriority peuvent être définis sur le DispatcherTimer.

Un DispatcherTimer objet reste actif chaque fois que les méthodes de l’objet sont liées au minuteur.

Constructeurs

Nom Description
DispatcherTimer()

Initialise une nouvelle instance de la classe DispatcherTimer.

DispatcherTimer(DispatcherPriority, Dispatcher)

Initialise une nouvelle instance de la DispatcherTimer classe qui s’exécute sur la Dispatcher priorité spécifiée.

DispatcherTimer(DispatcherPriority)

Initialise une nouvelle instance de la DispatcherTimer classe qui traite les événements du minuteur à la priorité spécifiée.

DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher)

Initialise une nouvelle instance de la DispatcherTimer classe qui utilise l’intervalle de temps, la priorité, le gestionnaire d’événements et Dispatcher.

Propriétés

Nom Description
Dispatcher

Obtient l’associé Dispatcher à ce DispatcherTimer.

Interval

Obtient ou définit la période entre les cycles du minuteur.

IsEnabled

Obtient ou définit une valeur qui indique si le minuteur est en cours d’exécution.

Tag

Obtient ou définit un objet de données défini par l’utilisateur.

Méthodes

Nom Description
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
Start()

Démarre le DispatcherTimer.

Stop()

Arrête le DispatcherTimer.

ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

Événements

Nom Description
Tick

Se produit lorsque l’intervalle du minuteur s’est écoulé.

S’applique à