2012-06-30 97 views
1

我有一個計時器,可以改變每個標記的標籤文字。對於某些共振,它會停止並且不會繼續循環。爲什麼?C#中的循環文本標籤?

 private int count = 0; 
    private void timer1_Tick(object sender, EventArgs e) 
    { 
      string[] arr4 = new string[3]; // 4 
      arr4[0] = "one"; 
      arr4[1] = "two"; 
      arr4[2] = "three"; 

      if (count == 4) 
      { 
       count = 0; 
      } 
      toolStripStatusLabel1.Text = arr4[count]; 
      count++; 
    } 
+0

蜱很短。也許你的UI渲染無法跟上它? – devlord

+1

我編輯了刻度到5000毫秒或5秒 –

+2

您是否設置了Enabled = True? – adatapost

回答

1

而且,當我的窗體加載時,標籤的文本是空白。然後它轉到arr4 [0]。當它再次循環時,文本從arr [0]開始。爲什麼文本首先是空白的,我如何解決它?

看起來像你的原始問題已在評論中回答。我會從評論中回答你的第二個問題。

當您的程序啓動時,您的timer1_Tick事件不會立即執行。第一次執行是在5000毫秒之後,就你的情況而言。因此,標籤首先會顯示空白,然後更改爲arr4 [0]的值。如果你不想做那,你可以:

  • 設置標籤的值在設計時設計師
  • 在運行時設置標籤的值在構造函數
  • 拉創作從定時器滴答事件中取出數組,因此您不會每5秒重新創建一次,將其設置爲類變量,然後在構造函數中創建它,然後在創建後將標籤設置爲arr4 [0]