Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Timer Constructor
Collapse the table of content
Expand the table of content

Timer Constructor

Initializes a new instance of the Timer class, and sets all the properties to their initial values.

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

public Timer()

The following table shows initial property values for an instance of Timer.

Property

Initial value

AutoReset

true

Enabled

false

Interval

100 milliseconds

SynchronizingObject

A null reference (Nothing in Visual Basic).

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
Show:
© 2015 Microsoft