0

我正在使用 DispatcherTimer 类以便在我的应用程序中使用 Timer。我在 for 循环中使用了一个计时器,如下所示:

enter code here

   for (int i = 0; i < 3; i++)
        {
           dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 1,0);
           dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
           dispatcherTimer.Start();
           temp = 0;
        }
    }

    private void dispatcherTimer_Tick(object sender, EventArgs e)
    {

      txt.Text = temp.Tostring();
      if(temp<10)
        temp++;
      else
        dispatcherTimer.Stop();
    }

第一次迭代它正常工作并每秒添加温度,但第二次迭代会将温度与 2 而不是 temp++ 相加,第三次迭代它将温度与三相加。

您是否知道如何解决这个问题,每次将 temp 加一而不是二或三?

谢谢,~B

4

1 回答 1

0

当您停止计时器时,您需要取消绑定您的刻度处理程序:

dispatcherTimer.Stop();
dispatcherTimer.Tick -= dispatcherTimer_Tick;
于 2013-07-28T07:56:37.273 回答