在倒数计时器中保存剩余的秒数

时间:2013-02-24 06:33:11

标签: c# countdowntimer

我有问题。我想在倒数计时器中保存剩余秒数(例如,剩余时间= 12秒)我想在变量中保存12秒。 这是我的代码

    int order = 0;
    bool right = true;
    DispatcherTimer timer1 = new DispatcherTimer();
    private void timer_start()
    {
        timer1.Interval = new TimeSpan(0, 0, 0, 1);
        timer1.Tick += new EventHandler(timer1_Tick);
        timer1.Start();

    }
    int remainingSecond;
    int tik = 15;
    void timer1_Tick(object sender, EventArgs e)
    {
        this.Timer.Text = tik.ToString();
        if (tik > 0)
        {
            tik--;
            if (this.order >= 5)
            {
                timer1.Stop();
                if (right)
                {
                    remainingSecond = tik;
                }
                else
                    remainingSecond = 0;
            }
        }
        else
        {
            remainingSecond = 0;
            timer1.Stop();
        }
    }

每当我写“remainingSecond”时,其值始终为0.我希望remainingSecond值为12.请帮助我。感谢

2 个答案:

答案 0 :(得分:1)

尝试将间隔设置为1秒而不是1毫秒

答案 1 :(得分:1)

您已分配order = 0,但未在任何地方增加并设置此条件

if (this.order >= 5)永远不会是真的。因此,它会继续递减tik,最后您的条件if (tik > 0)将变为假。否则将执行,并将remainingSecond设置为ZERO。这就是为什么你得到ZERO作为输出。

你的计时器每1毫秒就会滴答作响。 timer将会启动,并且tick将立即order ,并且您的else语句将被执行以设置{{} 1}}到 ZERO ,并且remainingSeconds也是计时器。所以单击按钮对你没有任何作用。