Export (0) Print
Expand All

Timer Constructor (Double)

Initializes a new instance of the Timer class, and sets the Interval property to the specified number of milliseconds.

Namespace:  System.Timers
Assembly:  System (in System.dll)

public Timer(
	double interval
)

Parameters

interval
Type: System.Double

The time, in milliseconds, between events. The value must be greater than zero and less than or equal to Int32.MaxValue.

ExceptionCondition
ArgumentException

The value of the interval parameter is less than or equal to zero, or greater than Int32.MaxValue.

This constructor sets the Interval property of the new timer instance, but does not enable the timer.

The following example instantiates a Timer object that fires its Timer.Elapsed event every two seconds (2000 milliseconds), sets up an event handler for the event, and starts the timer. The event handler displays the value of the ElapsedEventArgs.SignalTime property each time it is raised.

// Use this code inside a project created with the Visual C# > Windows Desktop > Console Application template.  
// Replace the code in Program.cs with this code.  

using System;

// To avoid confusion with other Timer classes, this sample always uses the fully-qualified 
// name of System.Timers.Timer instead of a using statement for System.Timers. 

public class Example
{
    private static System.Timers.Timer aTimer;

    public static void Main()
    {
        // Normally, the timer is declared at the class level, so that it stays in scope as long as it 
        // is needed. If the timer is declared in a long-running method, KeepAlive must be used to prevent 
        // the JIT compiler from allowing aggressive garbage collection to occur before the method ends. 
        // You can experiment with this by commenting out the class-level declaration and uncommenting  
        // the declaration below; then uncomment the GC.KeepAlive(aTimer) at the end of the method.         
        //System.Timers.Timer aTimer; 

        // Create a timer and set a two second interval.
        aTimer = new System.Timers.Timer();
        aTimer.Interval = 2000;

        // Alternate method: create a Timer with an interval argument to the constructor. 
        //aTimer = new System.Timers.Timer(2000); 

        // Create a timer with a two second interval.
        aTimer = new System.Timers.Timer(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();

        // 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) 
    }

    private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e)
    {
        Console.WriteLine("The Elapsed event was raised at {0}", e.SignalTime);
    }
}

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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft