Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Timer.SynchronizingObject, propriété

Obtient ou définit l'objet utilisé pour marshaler les appels du gestionnaire d'événements qui sont émis lorsqu'un intervalle a expiré.

Espace de noms :  System.Timers
Assembly :  System (dans System.dll)

[TimersDescriptionAttribute("TimerSynchronizingObject")]
[BrowsableAttribute(false)]
public ISynchronizeInvoke SynchronizingObject { get; set; }

Valeur de propriété

Type : System.ComponentModel.ISynchronizeInvoke
ISynchronizeInvoke représentant l'objet utilisé pour marshaler les appels du gestionnaire d'événements qui sont émis lorsqu'un intervalle a expiré. La valeur par défaut est null.

Lorsque SynchronizingObject est null, la méthode qui gère l'évènement Elapsed est appelée sur un thread provenant du pool de threads système. Pour plus d'informations sur les pools de threads système, consultez ThreadPool.

Lorsque l'événement Elapsed est géré par un composant Windows Forms visuel, tel qu'un bouton, l'accès au composant par l'intermédiaire du pool de threads système peut résulter en une exception ou simplement ne pas fonctionner. Évitez cet effet en affectant un composant Windows Forms à SynchronizingObject, ce qui a pour conséquence l'appel de la méthode qui gère l'événement Elapsed sur le même thread que celui sur lequel le composant a été créé.

RemarqueRemarque

Même si la propriété SynchronizingObject n'a pas la valeur null, les événements Elapsed peuvent se produire une fois la méthode Dispose ou Stop appelée ou une fois la propriété Enabled définie à false, car le signal destiné à déclencher l'événement Elapsed est toujours mis en file d'attente pour être exécuté sur un thread de pool de threads. Un moyen de résoudre cette condition de concurrence critique est de définir un indicateur indiquant au gestionnaire d'événements de l'événement Elapsed d'ignorer les événements suivants.

Si Timer est utilisé dans Visual Studio dans un concepteur Windows Forms, SynchronizingObject est automatiquement défini au contrôle qui contient le Timer. Par exemple, si vous placez un Timer sur un concepteur pour Form1 (qui hérite de Form), l'instance de Form1 est affectée à la propriété SynchronizingObject de Timer.

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

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.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft