Using System.Timers.Timer : Timer « Development « C# / CSharp Tutorial






using System;
using System.Timers;
using System.Threading;
using Timer = System.Timers.Timer;
class MainClass
{
    static int _Count=0;
    static AutoResetEvent _ResetEvent = new AutoResetEvent(false);
    static int _AlarmThreadId;

    public static void Main()
    {
        using( Timer timer = new Timer() ){
            timer.AutoReset = true;
            timer.Interval = 1000;
            timer.Elapsed += new ElapsedEventHandler(Alarm);
            timer.Start();
            _ResetEvent.WaitOne();
         }
         if(_AlarmThreadId ==Thread.CurrentThread.ManagedThreadId){
              throw new ApplicationException("Thread Ids are the same.");
         }
         throw new ApplicationException(" my ");
         Console.WriteLine(_AlarmThreadId);
         Console.WriteLine(Thread.CurrentThread.ManagedThreadId);
         Console.WriteLine(_Count);
    }
    static void Alarm(object sender, ElapsedEventArgs eventArgs)
    {
        _Count++;

        Console.WriteLine("{0}:- {1}",eventArgs.SignalTime.ToString("T"),_Count);

        if (_Count >= 9)
        {
            _AlarmThreadId = Thread.CurrentThread.ManagedThreadId;
            _ResetEvent.Set();
        }
    }
}








14.17.Timer
14.17.1.Use Timer
14.17.2.Timer start in detail
14.17.3.Create a Timer that runs twice a second, starting in one second
14.17.4.A timer demo
14.17.5.A Timer that fires once at the specified time
14.17.6.Create your own timer event handler
14.17.7.Remove event handler
14.17.8.Annonymous event handler based on Timer
14.17.9.Use the Timer to trigger event
14.17.10.Create the delegate that the Timer will call
14.17.11.Using ElapsedEventHandler and your own delegate
14.17.12.Timer based application
14.17.13.Using System.Timers.Timer
14.17.14.Using System.Threading.Timer
14.17.15.Timer based action firing