Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Timer.Enabled (Propiedad)

 

Obtiene o establece un valor que indica si Timer debe generar el evento Elapsed.

Espacio de nombres:   System.Timers
Ensamblado:  System (en System.dll)

[TimersDescriptionAttribute("TimerEnabled")]
public bool Enabled { get; set; }

Valor de propiedad

Type: System.Boolean

Es true si Timer debe generar el evento Elapsed; en caso contrario, es false.De manera predeterminada, es false.

Exception Condition
ObjectDisposedException

No se puede establecer esta propiedad porque se ha desechado el temporizador.

ArgumentException

El Interval propiedad se estableció en un valor mayor que Int32.MaxValue antes de habilita el temporizador.

Establecer Enabled a true es igual que llamar a Start, durante la instalación Enabled a false es igual que llamar a Stop.

System_CAPS_noteNota

La señal para generar el Elapsed evento siempre en cola para su ejecución en un ThreadPool subproceso.Esto podría dar lugar a la Elapsed eventos provocados después de la Enabled propiedad está establecida en false.El ejemplo de código para el Stop método muestra una manera de evitar esta condición de carrera.

Si Enabled está establecido en true y AutoReset se establece en false, el Timer provoca la Elapsed eventos sólo una vez, la primera vez que el intervalo transcurre.

Si el intervalo se establece después de la Timer ha iniciado, el recuento se restablece.Por ejemplo, si establece el intervalo en 5 segundos y, a continuación, establece la Enabled propiedad true, el recuento se inicia en el momento Enabled se establece.Si restablece el intervalo en 10 segundos cuando el recuento es 3 segundos, el Elapsed evento se desencadena por primera vez 13 segundos después de Enabled se estableció en true.

System_CAPS_noteNota

Algunos diseñadores visuales, como los de Microsoft Visual Studio, establezca el Enabled propiedad true al insertar un nuevo Timer.

El ejemplo siguiente crea un Timer objeto que desencadena su Timer.Elapsed evento cada dos segundos (2.000 milisegundos), se configura un controlador de eventos para el evento e inicia el temporizador.El controlador de eventos muestra el valor de la ElapsedEventArgs.SignalTime propiedad cada vez que se genera.

// Use this code inside a project created with the Visual C# > Windows Desktop > Console Application template. 
// Replace the code in Program.cs with this code. 

using System;

// To avoid confusion with other Timer classes, this sample always uses the fully-qualified
// name of System.Timers.Timer instead of a using statement for System.Timers.

public class Example
{
    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.
        // You can experiment with this by commenting out the class-level declaration and uncommenting 
        // the declaration below; then uncomment the GC.KeepAlive(aTimer) at the end of the method.        
        //System.Timers.Timer aTimer;

        // Create a timer and set a two second interval.
        aTimer = new System.Timers.Timer();
        aTimer.Interval = 2000;

        // Alternate method: create a Timer with an interval argument to the constructor.
        //aTimer = new System.Timers.Timer(2000);

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

        // Hook up the Elapsed event for the timer. 
        aTimer.Elapsed += OnTimedEvent;

        // Have the timer fire repeated events (true is the default)
        aTimer.AutoReset = true;

        // Start the timer
        aTimer.Enabled = true;

        Console.WriteLine("Press the Enter key to exit the program at any time... ");
        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) 
    }

    private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
    {
        Console.WriteLine("The Elapsed event was raised at {0}", e.SignalTime);
    }
}

// This example displays output like the following: 
//       Press the Enter key to exit the program at any time... 
//       The Elapsed event was raised at 5/20/2015 8:48:58 PM 
//       The Elapsed event was raised at 5/20/2015 8:49:00 PM 
//       The Elapsed event was raised at 5/20/2015 8:49:02 PM 
//       The Elapsed event was raised at 5/20/2015 8:49:04 PM 
//       The Elapsed event was raised at 5/20/2015 8:49:06 PM 

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: