Timer.Enabled Tulajdonság

Definíció

Lekéri vagy beállít egy értéket, amely jelzi, hogy az Timer eseménynek emelnie kell-e az eseményt Elapsed .

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

Tulajdonság értéke

trueha az Timer eseményt fel kell emelniElapsed; ellenkező esetben. false Az alapértelmezett érték a false.

Attribútumok

Kivételek

Ez a tulajdonság nem állítható be, mert az időzítő el lett adva.

A Interval tulajdonság értéke nagyobb, mint az Int32.MaxValue , mielőtt engedélyezve lett az időzítő.

Példák

Az alábbi példa létrehoz egy Timer objektumot, amely két másodpercenként (2000 ezredmásodpercenként) aktiválja Timer.Elapsed az eseményt, beállít egy eseménykezelőt az eseményhez, és elindítja az időzítőt. Az eseménykezelő minden alkalommal megjeleníti a ElapsedEventArgs.SignalTime tulajdonság értékét, amikor az elő van emelve.

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

Megjegyzések

A beállítás Enabled megegyezik a hívássaltrue, míg a beállítás StartEnabled ugyanaz, mint a hívásfalse.Stop

Note

Az esemény emelésére Elapsed szolgáló jel mindig várólistára kerül egy ThreadPool szálon való végrehajtáshoz. Ez azt eredményezheti, hogy a Elapsed tulajdonság beállítása Enabledután az false esemény létrejön. A metódus kód Stop példája egy módszert mutat be ennek a versenyfeltételnek a megkerülésére.

Ha Enabled be van állítva true és AutoReset be van állítva false, a Timer rendszer csak egyszer állítja be az Elapsed eseményt, az intervallum első elteltekor.

Ha az időköz a Timer kezdés után van beállítva, a darabszám alaphelyzetbe áll. Ha például 5 másodpercre állítja az intervallumot, majd beállítja a Enabled tulajdonságot true, a szám a beállítás időpontjában Enabled kezdődik. Ha 3 másodperces szám esetén 10 másodpercre állítja vissza az időközt, az Elapsed esemény az első alkalommal 13 másodpercre emelkedik a beállítás után Enabledtrue.

Note

Egyes vizualizációtervezők, például a Microsoft Visual Studio, új Enabled beszúrásakor a true tulajdonságot Timer értékre állítja.

A következőre érvényes:

Lásd még