C#线程倒计时器源码分享
本文实例为大家分享了C#线程倒计时器源码,供大家参考,具体内容如下
usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading; usingSystem.Windows.Forms; namespaceListZZBG { classTimeHeleper { Threadthread; privateTimeSpantime;//计时时间 privateTimeSpanendTime;//到点时间 privateLabellb; privateboolwhereExit=true; //////设定计时器计时的时间 /// ///计时器时间,如:01:00:00既1小时 publicTimeHeleper(TimeSpanStartTime,Labellb) { time=StartTime; this.lb=lb; } publicvoidShowLabel() { lb.Text=time.ToString(); } /// ///获取时间 /// ///publicTimeSpanGetTime() { returntime; } /// ///开启计时器 /// publicvoidOpen() { //计算到点时间 TimeSpantsNow=TimeSpan.Parse(DateTime.Now.ToString("HH:mm:ss")); TimeSpantsAdd=time; endTime=tsNow+tsAdd; //线程开始 whereExit=false; thread=newThread(TimeThreadStart); thread.IsBackground=true; thread.Start(); } //////关闭计时器 /// publicvoidClose() { whereExit=true; thread.Join(1000); } privatevoidTimeThreadStart() { while(!whereExit) { RunTime(); Thread.Sleep(1000); } } privatedelegatevoidRunTimeDelegate(); privatevoidRunTime() { if(lb.InvokeRequired) { RunTimeDelegated=RunTime; lb.Invoke(d); } else { time=endTime-TimeSpan.Parse(DateTime.Now.ToString("HH:mm:ss")); string[]sp=time.ToString().Split(':'); lb.Text=sp[2].ToString();//liable1控件 } } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。