public event TickEventHandler Ticked;                                        //Ticked(i.e. after something occurred), or possibly Ticking(i.e. before)

        public void Start()
        {
            while (true)
            {
                System.Threading.Thread.Sleep(3000);
                if (Ticked != null)
                {
                    TimeOfTickEventArgs tot = new TimeOfTickEventArgs();
                    tot.Time = DateTime.Now;
                    Ticked(this, tot);     //<- publish the event
                }
            }
        }
 private void HeardIt(object sender, TimeOfTickEventArgs e)          //<- this is the event handler (note signature 'object sender, xxx e')
 {
     System.Console.WriteLine("HEARD IT AT {0}", e.Time);
 }