2013-07-28 33 views
0

我使用DispatcherTimer類爲了在我的應用程序中使用Timer。我使用計時器在for循環如下:Windows手機:恢復定時器後,定時器計數兩倍

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總結臨時而非臨時++和,第三次迭代將求和與三個溫度。

你有什麼想法,我怎麼能解決這個問題,每次總和一個而不是兩個或三個溫度?

感謝, 一B

+0

感謝米奇,你有什麼想法,我怎麼能解決這個問題,每次總和臨時而不是兩個或三個? –

回答

0

你需要,當你停止計時器解除綁定你的節拍處理:

dispatcherTimer.Stop(); 
dispatcherTimer.Tick -= dispatcherTimer_Tick; 
+0

感謝BladOrz,它的工作原理。 –