我正在使用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求和,而第三次迭代它将temp与3相加。
你是否知道我怎样才能解决这个问题,即每次将温度加一而不是二或三?
谢谢, 〜乙
答案 0 :(得分:0)
停止计时器时,您需要取消绑定刻度线处理程序:
dispatcherTimer.Stop();
dispatcherTimer.Tick -= dispatcherTimer_Tick;