在Windows手机中递增计时器

时间:2013-04-02 15:55:44

标签: c# timer windows-phone

我在Windows手机上制作Timer App时遇到问题。 我将文本框设置为00:00:00,我试图每秒递增它,但在第一秒之后它不会再做了。我相信这是一个简单的解决方案,非常感谢任何帮助。谢谢

  

public MainPage()           {               的InitializeComponent();

        DispatcherTimer timer = new DispatcherTimer();
        timer.Interval = TimeSpan.FromSeconds(1);
        timer.Tick += OnTimerTick;
        timer.Start();
    }

    void OnTimerTick(object sender, EventArgs args)
    {
        txtTimer.Text = DateTime.Now.ToString();
    }

    private void btnStartClick(object sender, EventArgs e)
    {

        DispatcherTimer timer = new DispatcherTimer();

        timer.Tick +=
            delegate(object s, EventArgs args)
            {
                TimeSpan time = new TimeSpan(0);
                time += TimeSpan.FromSeconds(1);                   
                this.timenow.Text = string.Format("{0:D2}:{1:D2}:{2:D2}", time.Hours, time.Minutes, time.Seconds);
            };


        timer.Interval = new TimeSpan(0, 0, 1); 
        timer.Start();

    }

1 个答案:

答案 0 :(得分:1)

            TimeSpan time = new TimeSpan(0);
            time += TimeSpan.FromSeconds(1);                   
            this.timenow.Text = string.Format("{0:D2}:{1:D2}:{2:D2}", time.Hours, time.Minutes, time.Seconds);

每次计时器滴答时都会创建time变量。因此,每次添加一秒到零时间跨度。您需要从委托中提取它。通常你会把它变成一个类字段。