C# - 使用NumericUpDown作为间隔的倒数计时器

时间:2009-10-16 19:15:24

标签: c# timer countdown

我确信之前已经问过,但我似乎无法找到有效的解决方案。我的表单上有一个NumericUpDown,还有一个标签以及一个计时器和一个按钮。我希望计时器在按下按钮时启动,并且计时器的间隔等于NumericUpDown和倒计时的间隔将显示在标签中。我知道这应该很容易。有什么帮助吗?

到目前为止:

   int tik = Convert.ToInt32(TimerInterval.Value);

    if (tik >= 0)
    {
        TimerCount.Text = (tik--).ToString();
    }

    else
    {
        TimerCount.Text = "Out of Time";
    }

计时器滴答时似乎没有更新。

1 个答案:

答案 0 :(得分:2)

以下是您正在寻找的快速示例。这应该为您提供有关您需要做什么的基本想法

    //class variable
    private int totNumOfSec;

    //set the event for the tick
    //and the interval each second
    timer1.Tick += new EventHandler(timer1_Tick);
    timer1.Interval = 1000;


    private void button1_Click(object sender, EventArgs e)
    {
        totNumOfSec = (int)this.numericUpDown1.Value; 
        timer1.Start();
    }

    void timer1_Tick(object sender, EventArgs e)
    {
        //check the timer tick
        totNumOfSec--;
        if (totNumOfSec == 0)
        {
            //do capture
            MessageBox.Show("Captured");
            timer1.Stop();
        }
        else
            label1.Text = "Caputring in " + totNumOfSec.ToString();
    }