为什么我的计时器在一秒钟后停止

  • 本文关键字:一秒钟 计时器 c#
  • 更新时间 :
  • 英文 :


当我单击启动计时器的按钮时,该计时器的间隔设置为 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();
    }

最新更新