Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

DispatcherTimer, classe

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.

System.Object
  System.Windows.Threading.DispatcherTimer

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

Le type DispatcherTimer expose les membres suivants.

  Nom Description
Méthode publique DispatcherTimer() Initialise une nouvelle instance de la classe DispatcherTimer.
Méthode publique DispatcherTimer(DispatcherPriority) Initialise une nouvelle instance de la classe DispatcherTimer qui traite des événements de minuterie à la priorité spécifiée.
Méthode publique DispatcherTimer(DispatcherPriority, Dispatcher) Initialise une nouvelle instance de la classe DispatcherTimer qui s'exécute sur le Dispatcher spécifié à la priorité spécifiée.
Méthode publique DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher) Initialise une nouvelle instance de la classe DispatcherTimer qui utilise l'intervalle de temps, la priorité, le gestionnaire d'événements et le Dispatcher spécifiés.
Début
  Nom Description
Propriété publique Dispatcher Obtient le Dispatcher associé à DispatcherTimer.
Propriété publique Interval Obtient ou définit la durée séparant les graduations de la minuterie.
Propriété publique IsEnabled Obtient ou définit une valeur qui indique si la minuterie est active.
Propriété publique Tag Obtient ou définit un objet de données défini par l'utilisateur.
Début
  Nom Description
Méthode publique Equals(Object) Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique Start Démarre DispatcherTimer.
Méthode publique Stop Arrête DispatcherTimer.
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Début
  Nom Description
Événement public Tick Se produit lorsque l'intervalle de la minuterie s'est écoulé.
Début

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 user interface (UI). Pour accéder aux objets du thread user interface (UI), il faut publier l'opération sur le Dispatcher du thread user interface (UI) à l'aide de Invoke ou BeginInvoke. 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.

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

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.


//  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.


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


.NET Framework

Pris en charge dans : 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
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.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ