在C#中循环文本标签?

时间:2012-06-30 02:24:41

标签: c# winforms loops timer visual-c#-express-2010

我有一个计时器,可以在每个刻度线上更改标签的文本。出于某种原因,它会停止并且不会继续循环。为什么呢?

        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++;
    }

1 个答案:

答案 0 :(得分:1)

  

此外,当我的表单加载时,标签的文本为空白。然后转到arr4 [0]。当它再次循环时,文本从arr [0]开始。为什么文本首先是空白的,我该如何修复它?

看起来您的原始问题已在评论中得到解答。我会从评论中回答你的第二个问题。

您的timer1_Tick事件在程序启动时不会立即执行。在你的情况下,它第一次执行是在5000ms之后。因此标签首先显示空白,然后更改为arr4 [0]的值。如果你不想那样,你可以:

  • 在设计时在设计器中设置标签的值
  • 在运行时
  • 中设置构造函数中标签的值
  • 将数组的创建从计时器tick事件中拉出来,这样你就不会每5秒重新创建一次,使它成为一个类变量,然后在构造函数中创建它,然后立即将标签设置为arr4 [0]创造它