Cette documentation est archivée et n’est pas conservée.

Timer.Enabled, propriété

Mise à jour : novembre 2007

Obtient ou définit une valeur indiquant si Timer doit déclencher l'événement Elapsed.

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

[TimersDescriptionAttribute("TimerEnabled")]
public bool Enabled { get; set; }
/** @property */
/** @attribute TimersDescriptionAttribute("TimerEnabled") */
public boolean get_Enabled()
/** @property */
/** @attribute TimersDescriptionAttribute("TimerEnabled") */
public  void set_Enabled(boolean value)

public function get Enabled () : boolean
public function set Enabled (value : boolean)

Valeur de propriété

Type : System.Boolean

true si Timer doit déclencher l'événement Elapsed ; sinon, false. La valeur par défaut est false.

ExceptionCondition
ObjectDisposedException

Cette propriété ne peut pas être définie, car la minuterie a été supprimée.

Affecter true à Enabled équivaut à appeler Start, tandis qu'affecter false à Enabled équivaut à appeler Stop.

Remarque :

L'événement Elapsed est déclenché sur un thread ThreadPool, pour que la méthode de gestion d'événements puisse s'exécuter sur un thread alors que la propriété Enabled a la valeur false sur un autre thread. Cela peut provoquer le déclenchement de l'événement Elapsed après l'affectation de la valeur false à la propriété Enabled. L'exemple de code correspondant à la méthode Stop illustre une façon d'empêcher cette condition de concurrence critique.

Si true est affecté à Enabled et si false est affecté à AutoReset, Timer déclenche l'événement Elapsed une seule fois, la première fois que l'intervalle est écoulé.

Si l'intervalle est défini après le démarrage de Timer, le compteur est réinitialisé. Par exemple, si vous définissez l'intervalle à 5 secondes, puis affectez true à la propriété Enabled, le compteur démarre à l'heure à laquelle Enabled est défini. Si vous réinitialisez l'intervalle à 10 secondes lorsque le compteur est à 3 secondes, l'événement Elapsed est déclenché pour la première fois 13 secondes après que true a été affecté à Enabled.

Remarque :

Certains concepteurs visuels, notamment ceux de Microsoft Visual Studio, définissent la propriété Enabled à la valeur true lors de l'insertion d'un nouveau Timer.

L'exemple de code suivant configure un gestionnaire d'événements pour l'événement Timer.Elapsed, crée une minuterie et utilise l'événement Enabled pour démarrer la minuterie. Le gestionnaire d'événements affiche la propriété SignalTime chaque fois que l'événement est déclenché.

using System;
using System.Timers;

public class Timer1
{
    private static System.Timers.Timer aTimer;

    public static void Main()
    {
        // Normally, the timer is declared at the class level,
        // so that it stays in scope as long as it is needed.
        // If the timer is declared in a long-running method,  
        // KeepAlive must be used to prevent the JIT compiler 
        // from allowing aggressive garbage collection to occur 
        // before the method ends. (See end of method.)
        //System.Timers.Timer aTimer;

        // Create a timer with a ten second interval.
        aTimer = new System.Timers.Timer(10000);

        // Hook up the Elapsed event for the timer.
        aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

        // Set the Interval to 2 seconds (2000 milliseconds).
        aTimer.Interval = 2000;
        aTimer.Enabled = true;

        Console.WriteLine("Press the Enter key to exit the program.");
        Console.ReadLine();

        // If the timer is declared in a long-running method, use
        // KeepAlive to prevent garbage collection from occurring
        // before the method ends.
        //GC.KeepAlive(aTimer);
    }

    // Specify what you want to happen when the Elapsed event is 
    // raised.
    private static void OnTimedEvent(object source, ElapsedEventArgs e)
    {
        Console.WriteLine("The Elapsed event was raised at {0}", e.SignalTime);
    }
}

/* This code example produces output similar to the following:

Press the Enter key to exit the program.
The Elapsed event was raised at 5/20/2007 8:42:27 PM
The Elapsed event was raised at 5/20/2007 8:42:29 PM
The Elapsed event was raised at 5/20/2007 8:42:31 PM
...
 */


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0
Afficher: