Remove event handler : Timer « Development « C# / CSharp Tutorial






using System;
using System.Timers;           
using System.Threading;        

class MainClass
{
   public static void TimerHandlerA(object obj, EventArgs e) { 
      Console.WriteLine("Class A handler called"); 
   }

   public static void TimerHandlerB(object obj, EventArgs e) { 
      Console.WriteLine("Class B handler called"); 
   }

   static void Main()
   {
     
      MyTimerClass mc = new MyTimerClass(); 

      mc.Elapsed += TimerHandlerA;       
      mc.Elapsed += TimerHandlerB;   

      mc.Elapsed -= TimerHandlerB;   
      
      Thread.Sleep(2000);                   
   }
}

public class MyTimerClass
{
   public event EventHandler Elapsed;

   private void OnOneSecond(object obj, EventArgs e)
   {
      if (Elapsed != null)
         Elapsed(obj, e);
   }
   
   private System.Timers.Timer MyPrivateTimer = new System.Timers.Timer();
   
   public MyTimerClass()
   {
      MyPrivateTimer.Elapsed += OnOneSecond;

      MyPrivateTimer.Interval = 1000;

      MyPrivateTimer.Enabled = true;
   }
}
Class A handler called








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