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控件
}
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。