实例化一个timer:
// 每5分钟执行一次,每次执行的间隔毫秒时长 System.Timers.Timer timer = new System.Timers.Timer(5*60*1000);
为timer设置事件和任务循环回调方法:
//到达时间的时候执行事件 timer.Elapsed += new System.Timers.ElapsedEventHandler(TimerTask); //设置是执行一次(false)还是一直执行(true) timer.AutoReset = true; //是否执行System.Timers.Timer.Elapsed事件 timer.Enabled = true;
回调任务方法:
public void TimerTask(object source, System.Timers.ElapsedEventArgs e) { lock(this) { Console.WriteLine("Execute timer task ....start...."); // 有动态就删除动态,没有则据此关闭相应的播放线程 if (listView.Items.Count > 0) { RemoveData();// 移除掉事件记录 } else { ucVideo.StopAll();// 关闭所有实时视频 timer.Enabled = false;// 关闭timer } Console.WriteLine("Execute timer task ....completed!"); } }