Timer.Enabled Egenskap

Definition

Hämtar eller anger ett värde som anger om Timer händelsen ska höjas 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

Egenskapsvärde

true Timer om ska höja Elapsed händelsen, annars , false. Standardvärdet är false.

Attribut

Undantag

Det går inte att ange den här egenskapen eftersom timern har tagits bort.

Egenskapen Interval har angetts till ett värde som är större än Int32.MaxValue innan timern aktiverades.

Exempel

I följande exempel instansierar ett Timer objekt som utlöser händelsen Timer.Elapsed varannan sekund (2 000 millisekunder), konfigurerar en händelsehanterare för händelsen och startar timern. Händelsehanteraren visar värdet för egenskapen varje gång den ElapsedEventArgs.SignalTime utlöses.

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

Kommentarer

Inställningen Enabled till true är samma som att anropa Start, medan inställningen Enabled till är samma som att false anropa Stop.

Note

Signalen för att höja Elapsed händelsen placeras alltid i kö för körning på en ThreadPool tråd. Detta kan leda till Elapsed att händelsen utlöses efter att egenskapen Enabled har angetts till false. Kodexemplet för Stop metoden visar ett sätt att kringgå det här konkurrenstillståndet.

Om Enabled är inställt på true och AutoReset är inställt på false, Timer genererar Elapsed händelsen bara en gång, första gången intervallet förflutit.

Om intervallet anges när har Timer startats återställs antalet. Om du till exempel anger intervallet till 5 sekunder och sedan anger Enabled egenskapen till truebörjar antalet vid den tidpunkt Enabled som anges. Om du återställer intervallet till 10 sekunder när antalet är 3 sekunder aktiveras Elapsed händelsen för första gången 13 sekunder efter Enabled att den har angetts till true.

Note

Vissa visuella designers, till exempel de i Microsoft Visual Studio, anger egenskapen Enabled till true när du infogar en ny Timer.

Gäller för

Se även