我是C#的新手,需要一个倒数计时器。我使用此代码进行了少量修改。
原始代码。...
DateTime endTime = new DateTime(2018,12,31,0,0,0);
private void button1_Click(object sender, EventArgs e)
{
Timer t = new Timer();
t.Interval = 500;
t.Tick +=new EventHandler(t_Tick);
TimeSpan ts = endTime.Subtract(DateTime.Now);
label1.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
t.Start();
}
void t_Tick(object sender, EventArgs e)
{
TimeSpan ts = endTime.Subtract(DateTime.Now);
label1.Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
}
我的代码。...
DateTime endTime = new DateTime(2018,12,31,0,0,0);
private void countDownTimer()
{
Timer t = new Timer();
t.Interval = 1000;
t.Elapsed += new ElapsedEventHandler(t_Tick);
TimeSpan ts = endTime.Subtract(DateTime.Now);
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
t.Start();
}
void t_Tick(object sender, EventArgs e)
{
TimeSpan ts = endTime.Subtract(DateTime.Now);
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
}
这很好用,我想知道在倒计时后如何停止计时器。现在,它在倒数日期之后开始计数。
答案 0 :(得分:1)
您可以这样停止它:
DateTime endTime = new DateTime(2018, 11, 21, 12, 31, 0);
public void StartCountDownTimer()
{
timer = new System.Timers.Timer();
timer.Interval = 1000;
timer.Elapsed += t_Tick;
TimeSpan ts = endTime - DateTime.Now;
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
timer.Start();
}
string cTimer;
System.Timers.Timer timer;
void t_Tick(object sender, EventArgs e)
{
TimeSpan ts = endTime - DateTime.Now;
cTimer = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds'");
if ((ts.TotalMilliseconds < 0) || (ts.TotalMilliseconds < 1000))
{
timer.Stop();
}
}