读书人

c# winform timer计时器终止并重置计时

发布时间: 2013-01-11 11:57:35 作者: rapoo

c# winform timer计时器停止并重置计时器

最近在做一个倒计时的计时器,是用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后,计时继续。所以想请教如何才能终止计时并重置计时器
[解决办法]
本帖最后由 caozhy 于 2012-10-03 23:22:38 编辑 不要使用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();
}

}

读书人网 >C#

热点推荐