Sdílet prostřednictvím


Timer.AutoReset Vlastnost

Definice

Získá nebo nastaví logickou hodnotu označující, zda Timer má událost vyvolat Elapsed pouze jednou (false) nebo opakovaně (true).

public:
 property bool AutoReset { bool get(); void set(bool value); };
public bool AutoReset { get; set; }
[System.Timers.TimersDescription("TimerAutoReset")]
public bool AutoReset { get; set; }
member this.AutoReset : bool with get, set
[<System.Timers.TimersDescription("TimerAutoReset")>]
member this.AutoReset : bool with get, set
Public Property AutoReset As Boolean

Hodnota vlastnosti

true Timer pokud má událost vyvolat Elapsed při každém uplynutí intervalu. false Pokud by měla událost vyvolat Elapsed pouze jednou, po uplynutí prvního intervalu. Výchozí hodnota je true.

Atributy

Příklady

Následující příklad vytvoří událost, Timer jejíž Elapsed událost se aktivuje po 1,5 sekundách. Obslužná rutina události pak na konzole zobrazí "Hello World!".

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.
open System.Threading
open System.Timers

// Handle the Elapsed event.
let onTimedEvent source e =
    printfn "Hello World!"

// Create a timer with a 1.5 second interval.
let interval = 1500.
let aTimer = new Timer(interval)

// Hook up the event handler for the Elapsed event.
aTimer.Elapsed.AddHandler(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.
Thread.Sleep(interval * 2. |> int)
printfn "Press the Enter key to exit the program."
stdin.ReadLine() |> ignore

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

Poznámky

Pokud AutoReset je false, Start metoda musí být volána, aby se počet znovu spustil.

Resetování intervalu má vliv na vyvolání Elapsed události. Pokud například nastavíte interval na 5 sekund a nastavíte Enabled vlastnost na truehodnotu , počet začíná v čase Enabled . Pokud interval resetujete na 10 sekund, pokud je počet 3 sekundy, Elapsed událost se vyvolá poprvé 13 sekund po Enabled nastavení truevlastnosti .

Platí pro

Viz také