Timer.Enabled Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
public:
property bool Enabled { bool get(); void set(bool value); };
public bool Enabled { get; set; }
[System.Timers.TimersDescription("TimerEnabled")]
public bool Enabled { get; set; }
member this.Enabled : bool with get, set
[<System.Timers.TimersDescription("TimerEnabled")>]
member this.Enabled : bool with get, set
Public Property Enabled As Boolean
Hodnota vlastnosti
true v případě, že Timer by měla událost vyvolat Elapsed ; jinak , false. Výchozí hodnota je false.
- Atributy
Výjimky
Tuto vlastnost nelze nastavit, protože časovač byl uvolněn.
Vlastnost Interval byla nastavena na hodnotu větší než Int32.MaxValue před povolením časovače.
Příklady
Následující příklad vytvoří instanci objektu Timer , který aktivuje událost Timer.Elapsed každých dva sekundy (2000 milisekund), nastaví obslužnou rutinu události pro událost a spustí časovač. Obslužná rutina události zobrazí hodnotu ElapsedEventArgs.SignalTime vlastnosti při každém vyvolání.
using System;
using System.Timers;
public class Example
{
private static Timer aTimer;
public static void Main()
{
// Create a timer and set a two second interval.
aTimer = new System.Timers.Timer();
aTimer.Interval = 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();
}
private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
{
Console.WriteLine("The Elapsed event was raised at {0}", e.SignalTime);
}
}
// The 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
open System.Timers
let onTimedEvent source (e: ElapsedEventArgs) =
printfn $"The Elapsed event was raised at {e.SignalTime}"
// Create a timer and set a two second interval.
let aTimer = new Timer()
aTimer.Interval <- 2000
// Hook up the Elapsed event for the timer.
aTimer.Elapsed.AddHandler onTimedEvent
// Have the timer fire repeated events (true is the default)
aTimer.AutoReset <- true
// Start the timer
aTimer.Enabled <- true
printfn "Press the Enter key to exit the program at any time... "
stdin.ReadLine() |> ignore
// The 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
Imports System.Timers
Public Module Example
Private aTimer As Timer
Public Sub Main()
' Create a timer and set a two second interval.
aTimer = New System.Timers.Timer()
aTimer.Interval = 2000
' Hook up the Elapsed event for the timer.
AddHandler aTimer.Elapsed, AddressOf 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()
End Sub
Private Sub OnTimedEvent(source As Object, e As System.Timers.ElapsedEventArgs)
Console.WriteLine("The Elapsed event was raised at {0}", e.SignalTime)
End Sub
End Module
' The 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
Poznámky
Nastavení Enabled je stejné jako volání Start, zatímco nastavení Enabledfalse je stejné jako volání Stop.true
Poznámka:
Signál pro vyvolání Elapsed události je vždy zařazen do fronty pro spuštění ve vlákně ThreadPool . To může mít za následek Elapsed vyvolání události po Enabled nastavení falsevlastnosti . Příklad kódu pro metodu Stop ukazuje jeden způsob, jak obejít tuto časovací podmínku.
Pokud Enabled je nastavena na hodnotu a AutoReset je nastavena truefalsena , Timer vyvolá Elapsed událost pouze jednou, při prvním uplynutí intervalu.
Pokud je interval nastavený po Timer spuštění, počet se resetuje. 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í .true
Poznámka:
Někteří vizuální návrháři, například vizuály v sadě Microsoft Visual Studio, nastavují Enabled vlastnost při true vkládání nové Timer.