Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Timer.Enabled (Propiedad)

Obtiene o establece un valor que indica si Timer debería provocar el evento Elapsed.

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

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

Valor de propiedad

Tipo: System.Boolean
true si Timer tuviera que provocar el evento Elapsed; en caso contrario, false. El valor predeterminado es false.

ExcepciónCondición
ObjectDisposedException

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

ArgumentException

La propiedad Interval se estableció en un valor mayor que Int32.MaxValue antes de que el temporizador estuviera habilitado.

Establecer la propiedad Enabled en true es lo mismo que llamar al método Start, mientras que establecer Enabled en false es lo mismo que llamar al método Stop.

NotaNota

La señal para generar el evento Elapsed siempre se pone en la cola para la ejecución en un subproceso ThreadPool. Esto puede dar lugar a que se provoque el evento Elapsed después de que la propiedad Enabled se establezca en false. En el ejemplo de código para el método Stop se muestra una forma de evitar esta condición de carrera.

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

Si el intervalo se establece después de haberse iniciado Timer, se restablecerá el recuento. Por ejemplo, si el intervalo se establece en 5 segundos y, a continuación, la propiedad Enabled se establece en true, el recuento se inicia en el momento en el que se establece Enabled. Si el intervalo vuelve a establecerse en 10 segundos cuando el recuento es de 3 segundos, el evento Elapsed se provoca por primera vez a los 13 segundos de que Enabled se estableciera en true.

NotaNota

Algunos diseñadores visuales, como los de Microsoft Visual Studio, establecen la propiedad Enabled en true cuando se inserta una nueva clase Timer.

En el ejemplo de código siguiente se establece un controlador de eventos para el evento Timer.Elapsed, se crea un temporizador y se utiliza el evento Enabled para iniciar el temporizador. El controlador de eventos muestra la propiedad SignalTime cada vez que se provoca el evento.


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


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 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 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft