Timer.AutoReset Timer.AutoReset Timer.AutoReset Timer.AutoReset Property

Definição

Obtém ou define um valor booliano que indica se Timer deve acionar o evento Elapsed apenas uma vez (false) ou repetidamente (true).Gets or sets a Boolean indicating whether the Timer should raise the Elapsed event only once (false) or repeatedly (true).

public:
 property bool AutoReset { bool get(); void set(bool value); };
[System.Timers.TimersDescription("Indicates whether the timer will be restarted when it is enabled.")]
[System.Timers.TimersDescription("TimerAutoReset")]
public bool AutoReset { get; set; }
member this.AutoReset : bool with get, set
Public Property AutoReset As Boolean

Valor da propriedade

true para que o Timer acione o evento Elapsed cada vez que o intervalo expirar; false para que acione o evento Elapsed somente uma vez, após a primeira vez que o intervalo expirar.true if the Timer should raise the Elapsed event each time the interval elapses; false if it should raise the Elapsed event only once, after the first time the interval elapses. O padrão é true.The default is true.

Exemplos

O exemplo a seguir cria uma Timer cujo Elapsed evento aciona após 1,5 segundos.The following example creates a Timer whose Elapsed event fires after 1.5 seconds. Seu manipulador de eventos, em seguida, exibe "Hello World!"Its event handler then displays "Hello World!" no console.on the console.

#using <system.dll>

using namespace System;
using namespace System::Timers;

public ref class Timer2
{
private: 
   static System::Timers::Timer^ aTimer;

public:
   static void Main()
   {
      // Create a new Timer with Interval set to 1.5 seconds.
      double interval = 1500.0;
      aTimer = gcnew System::Timers::Timer(interval);

      // Hook up the event handler for the Elapsed event.
      aTimer->Elapsed += gcnew ElapsedEventHandler( OnTimedEvent );
      
      // Only raise the event the first time Interval elapses.
      aTimer->AutoReset = false;
      aTimer->Enabled = true;

      // Ensure the event fires before the exit message appears.
      System::Threading::Thread::Sleep((int) interval * 2);
      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);
   }

private:
   // Handle the Elapsed event.
   static void OnTimedEvent( Object^ /*source*/, ElapsedEventArgs^ /*e*/ )
   {
      Console::WriteLine( "Hello World!" );
   }

};

int main()
{
   Timer2::Main();
}
// The example displays the following output:
//       Hello World!
//       Press the Enter key to exit the program.
using System;
using System.Timers;

public class Example
{
    private static Timer aTimer;

    public static void Main()
    {
        // Create a timer with a 1.5 second interval.
        double interval = 1500.0;
        aTimer = new System.Timers.Timer(interval);
        
        // Hook up the event handler for the Elapsed event.
        aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

        // Only raise the event the first time Interval elapses.
        aTimer.AutoReset = false;
        aTimer.Enabled = true;
        
        // Ensure the event fires before the exit message appears.
        System.Threading.Thread.Sleep((int) interval * 2);
        Console.WriteLine("Press the Enter key to exit the program.");
        Console.ReadLine();
    }
 
    // Handle the Elapsed event.
    private static void OnTimedEvent(object source, ElapsedEventArgs e) 
    {
        Console.WriteLine("Hello World!");
    }
}
// This example displays the following output:
//       Hello World!
//       Press the Enter key to exit the program.
Imports System.Timers

Public Module Example
    Private aTimer As System.Timers.Timer

    Public Sub Main()
        ' Create a timer with a 1.5 second interval.
        Dim interval As Double = 1500.0
        aTimer = New System.Timers.Timer(interval)

        ' Hook up the event handler for the Elapsed event.
        AddHandler aTimer.Elapsed, AddressOf OnTimedEvent

        ' Only raise the event the first time Interval elapses.
        aTimer.AutoReset = False
        aTimer.Enabled = True
        
        
        ' Ensure the event fires before the exit message appears.
        System.Threading.Thread.Sleep(CInt(interval * 2))
        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)
    End Sub

    ' Specify what you want to happen when the Elapsed event is 
    ' raised.
    Private Sub OnTimedEvent(source As Object, e As ElapsedEventArgs)
        Console.WriteLine("Hello World!")
    End Sub
End Module
' This example displays the following output:
'       Hello World!
'       Press the Enter key to exit the program.

Comentários

Se o Timer já está habilitado quando o Start método é chamado, o intervalo é redefinido.If the Timer is already enabled when the Start method is called, the interval is reset. Se AutoReset está false, o Start método deve ser chamado para iniciar a contagem novamente.If AutoReset is false, the Start method must be called in order to start the count again.

Redefinir o intervalo afeta quando o Elapsed é gerado.Resetting the interval affects when the Elapsed event is raised. Por exemplo, se você definir o intervalo de 5 segundos e, em seguida, defina as Enabled propriedade para true, a contagem começa no momento Enabled está definido.For example, if you set the interval to 5 seconds and then set the Enabled property to true, the count starts at the time Enabled is set. Se você redefinir o intervalo de 10 segundos quando a contagem é 3 segundos, o Elapsed é gerado pela primeira vez e 13 segundos após o Enabled propriedade foi definida como true.If you reset the interval to 10 seconds when the count is 3 seconds, the Elapsed event is raised for the first time 13 seconds after the Enabled property was set to true.

Aplica-se a

Veja também