c# winform timer计时器停止并重置计时器,该如何处理
c# winform timer计时器停止并重置计时器
最近在做一个倒计时的计时器,是用timer控件进行控制的。倒计时的部分是没有问题的,但是现在需要实现点击btn后,停止当前的计时,并且重置计时器为计时的初始状态这项功能。详见代码。
现在的情况是触发btn_end_Click后计时停止,未重置计时器,触发btn_start_Click后,计时继续。所以想请教如何才能终止计时并重置计时器
------解决方案--------------------
不要使用timer1.Dispose();
private void btn_end_Click(object sender, EventArgs e)
{
timer1.Stop();
timer1.Enabled = false;
sec = 1800;
}
------解决方案--------------------
private void btnStar_Click(object sender, EventArgs e)
{
if (timer1.Enabled)
{
timer1.Stop();
}
else
{
sec = 1800; timer1.Start();
最近在做一个倒计时的计时器,是用timer控件进行控制的。倒计时的部分是没有问题的,但是现在需要实现点击btn后,停止当前的计时,并且重置计时器为计时的初始状态这项功能。详见代码。
private void btn_end_Click(object sender, EventArgs e)
{
timer1.Stop();
timer1.Enabled = false;
timer1.Dispose();
}
long sec = 1800;
private void timer1_Tick(object sender, EventArgs e)
{
sec -= 1;
this.lb_time.Text= new DateTime(sec * 1000000).ToLongTimeString();
if (sec == 300 )
{
this.lb_zff.Text = "最后30秒!";
this.axWindowsMediaPlayer1.URL = "D:\\ding.wav";
}
if (sec == 0)
{
timer1.Stop();
this.lb_zff.Text = "时间到!";
this.axWindowsMediaPlayer1.URL= "D:\\ling.wav";
}
private void btn_start_Click(object sender, EventArgs e)
{
if (timer1.Enabled)
{
timer1.Stop();
}
else
{
timer1.Start();
}
}
现在的情况是触发btn_end_Click后计时停止,未重置计时器,触发btn_start_Click后,计时继续。所以想请教如何才能终止计时并重置计时器
------解决方案--------------------
不要使用timer1.Dispose();
private void btn_end_Click(object sender, EventArgs e)
{
timer1.Stop();
timer1.Enabled = false;
sec = 1800;
}
------解决方案--------------------
private void btnStar_Click(object sender, EventArgs e)
{
if (timer1.Enabled)
{
timer1.Stop();
}
else
{
sec = 1800; timer1.Start();