当我单击启动计时器的按钮时,该计时器的间隔设置为 1000 毫秒时,它会完成一次 timer1_tick 方法中的代码,然后什么也没发生。它永远不会到达 else 语句
private void timer1_Tick(object sender, EventArgs e)
{
secondsLeft = 20;
if (secondsLeft > 0)
{
secondsLeft = secondsLeft - 1;
lbSecondsRemaining.Text = secondsLeft.ToString() + " seconds";
}
else
{
timer1.Stop();
MessageBox.Show("Timer stopped");
}
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Start();
}
标签 lbSecondsRemaining 更改为 19,然后什么都没有。
>好吧,您应该从方法中删除secondsLeft = 20;
,因为它每次方法触发时只会设置secondsLeft
到20个。
private void timer1_Tick(object sender, EventArgs e)
{
if (secondsLeft > 0)
{
secondsLeft = secondsLeft - 1;
lbSecondsRemaining.Text = secondsLeft.ToString() + " seconds";
}
else
{
timer1.Stop();
MessageBox.Show("Timer stopped");
}
}
private void button1_Click(object sender, EventArgs e)
{
secondsLeft = 20;
timer1.Start();
}