//Run方法每隔一秒触发一次OnTick事件,并且时间到了设定的闹铃时间会触发OnAlarm事件响铃 public void Run() { alarmTime = System.DateTime.Now.AddSeconds(10); Console.WriteLine($"The alarm clock will go off in ten seconds({alarmTime.ToString("HH:mm:ss")})."); DateTime tmpTime; while (DateTime.Compare(alarmTime, tmpTime = System.DateTime.Now) > 0) { TickEventArgs args = new TickEventArgs(tmpTime); //触发onTick事件 OnTick(this, args); Thread.Sleep(1000); } AlarmEventArgs args1 = new AlarmEventArgs(tmpTime); OnAlarm(this, args1); return; }
void Clock_OnTick(object sender, TickEventArgs args) { Console.WriteLine($"Tick! Now time is {args.CurrentTime.ToString("HH:mm:ss")}"); }