2011-05-14 211 views
0

我不能停止該定時器:無法停止計時器

private void startTimer_Click(object sender, EventArgs e) 
    { 
     AppTimer.Enabled = true; 
    } 

    private void AppTimer_Tick(object sender, EventArgs e) 
    { 
     if (BarreProgression.Value < BarreProgression.Maximum) 
     { 
      ... 
      BarreProgression.Value = BarreProgression.Value + 1; 
     } 
     else if (BarreProgression.Value == BarreProgression.Maximum) 
     { 

      MessageBox.Show("Finished"); 
      //AppTimer.Stop(); 
      AppTimer.Enabled = false; 
     } 
    } 

我有一個消息框無窮大的數字! 任何想法?

+0

您是否看到'完成的'對話框? – Kamyar 2011-05-14 16:12:32

+0

首先停止計時器,然後用彈出窗口刺激用戶。 – 2011-05-14 16:13:32

回答

4

一個消息塊的執行,直到用戶關閉它,首先停止計時器再展消息,否則您將被Windows發送垃圾郵件:

AppTimer.Enabled = false; 
MessageBox.Show("Finished"); 
1

試試這個,

if (BarreProgression.Value < BarreProgression.Maximum) 
     { 
      ... 
      BarreProgression.Value = BarreProgression.Value + 1; 
     } 
     else if (BarreProgression.Value == BarreProgression.Maximum) 
     { 

      //AppTimer.Stop(); 
      AppTimer.Enabled = false; 
      MessageBox.Show("Finished"); 
     } 
2

嘗試移動你的計時器停止,更高的一條線:

 else if (BarreProgression.Value == BarreProgression.Maximum) 
    { 

     // This should be above the message box. 
     AppTimer.Enabled = false; 
     MessageBox.Show("Finished"); 
    }