Timer.Enabled Eigenschap

Definitie

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de TimerElapsed gebeurtenis moet worden gegenereerd.

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

Waarde van eigenschap

trueindien de TimerElapsed gebeurtenis moet worden gegenereerd; anders. false De standaardwaarde is false.

Kenmerken

Uitzonderingen

Deze eigenschap kan niet worden ingesteld omdat de timer is verwijderd.

De Interval eigenschap is ingesteld op een waarde die groter is dan Int32.MaxValue voordat de timer werd ingeschakeld.

Voorbeelden

In het volgende voorbeeld wordt een Timer object geïnstitueerd dat Timer.Elapsed de gebeurtenis om de twee seconden (2000 milliseconden) wordt geactiveerd, een gebeurtenis-handler voor de gebeurtenis wordt ingesteld en de timer wordt gestart. De gebeurtenis-handler geeft de waarde van de ElapsedEventArgs.SignalTime eigenschap weer telkens wanneer deze wordt gegenereerd.

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

Opmerkingen

Instelling Enabled is hetzelfde als bellenStart, terwijl de instelling Enabledfalse hetzelfde is als bellenStop.true

Note

Het signaal voor het verhogen van de gebeurtenis wordt altijd in de Elapsed wachtrij geplaatst voor uitvoering op een ThreadPool thread. Dit kan ertoe leiden dat de Elapsed gebeurtenis wordt gegenereerd nadat de Enabled eigenschap is ingesteld op false. In het codevoorbeeld voor de Stop methode ziet u een manier om deze racevoorwaarde te omzeilen.

Als Enabled dit is ingesteld op true en AutoReset is ingesteld falseop, wordt de TimerElapsed gebeurtenis slechts eenmaal gegenereerd, de eerste keer dat het interval is verstreken.

Als het interval is ingesteld nadat het Timer is gestart, wordt het aantal opnieuw ingesteld. Als u bijvoorbeeld het interval instelt op 5 seconden en vervolgens de Enabled eigenschap trueinstelt op, begint het aantal op het moment dat het aantal Enabled is ingesteld. Als u het interval opnieuw instelt op 10 seconden wanneer het aantal 3 seconden is, wordt de Elapsed gebeurtenis verhoogd voor de eerste keer 13 seconden nadat Enabled deze is ingesteld op true.

Note

Sommige visuele ontwerpers, zoals die in Microsoft Visual Studio, stellen de eigenschap Enabled in op true bij het invoegen van een nieuwe Timer.

Van toepassing op

Zie ook