ticker.cs

来自「微软(Microsoft)出版社C井练习文件及解答」· CS 代码 · 共 46 行

CS
46
字号

namespace Delegates
{
	using System.Collections;
	using System.Timers;
    using System.Windows.Forms;

	class Ticker
	{
        public delegate void Tick(int hh, int mm, int ss);
        
        public Ticker()
		{
			this.ticking.Elapsed += new ElapsedEventHandler(this.OnTimedEvent);
			this.ticking.Interval = 1000; // 1 second
			this.ticking.Enabled = true;
        }

		public void Add(Tick newMethod)
		{
			this.tickers += newMethod;
		}
		
		public void Remove(Tick oldMethod)
		{
			this.tickers -= oldMethod;
		}

		private void Notify(int hours, int minutes, int seconds)
		{
            this.tickers(hours, minutes, seconds);
        }
	
		private void OnTimedEvent(object source, ElapsedEventArgs args)
		{
			int hh = args.SignalTime.Hour;
			int mm = args.SignalTime.Minute;
			int ss = args.SignalTime.Second;
			Notify(hh, mm, ss);
		}

        private Tick tickers;
        private System.Timers.Timer ticking = new System.Timers.Timer();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?