问题描述
请问如何实现自现在起150秒后每5分钟执行一次写好的方法,重复执行搜索到如下代码不知道如何改进usingSystem;usingSystem.Timers;namespace定时器ConsoleApplication1{classClass1{ [STAThread] staticvoidMain(string[]args){System.Timers.TimeraTimer=newSystem.Timers.Timer();aTimer.Elapsed+=newElapsedEventHandler(TimeEvent);//设置引发时间的时间间隔 此处设置为1秒(1000毫秒)aTimer.Interval=1000;aTimer.Enabled=true;Console.WriteLine("按回车键结束程序");Console.WriteLine("等待程序的执行......");Console.ReadLine();}// 当时间发生的时候需要进行的逻辑处理等//在这里仅仅是一种方式,可以实现这样的方式很多.privatestaticvoidTimeEvent(objectsource,ElapsedEventArgse){ //得到hourminutesecond如果等于某个值就开始执行某个程序。intintHour=e.SignalTime.Hour;intintMinute=e.SignalTime.Minute;intintSecond=e.SignalTime.Second;//定制时间;比如在10:30:00的时候执行某个函数intiHour=10;intiMinute=30;intiSecond=00;//设置 每秒钟的开始执行一次if(intSecond==iSecond){Console.WriteLine("每秒钟的开始执行一次!");}//设置 每个小时的30分钟开始执行if(intMinute==iMinute&&intSecond==iSecond){Console.WriteLine("每个小时的30分钟开始执行一次!");}//设置 每天的10:30:00开始执行程序if(intHour==iHour&&intMinute==iMinute&&intSecond==iSecond){Console.WriteLine("在每天10点30分开始执行!");}}}}
解决方案
解决方案二:
拉一个时钟过去,设置一个时间
解决方案三:
usingSystem.Timers;System.Timers.Timertimer1;System.Timers.Timertimer2;privatevoidForm1_Load(objectsender,EventArgse){timer1=newSystem.Timers.Timer();timer1.Elapsed+=newElapsedEventHandler(timer1Tick);timer1.Interval=150*1000;timer2=newSystem.Timers.Timer();timer2.Elapsed+=newElapsedEventHandler(timer2Tick);timer2.Interval=5*60*1000;timer1.Start();}privatevoidtimer1Tick(objectsource,ElapsedEventArgse){timer1.Stop();timer2.Start();//start开始后不会立即执行。如果要立即执行的话需要执行一下每隔5分钟执行的方法。}privatevoidtimer2Tick(objectsource,ElapsedEventArgse){//每隔5分钟执行的方法。}
解决方案四:
up
解决方案五:
System.Timers.Timer()Interval
解决方案六:
1.双Timer2.一个Timer+一个变量3.一个线程+两个循环.
解决方案七:
利用一个时钟控件。记住时钟控件要启动啊。
解决方案八:
UP,关注中