繁体   English   中英

在C#中循环文本标签?

[英]Looping Text label in 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++;
    }

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

看来您的原始问题已在评论中得到了回答。 我将从评论中回答您的第二个问题。

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

  • 在设计时在设计器中设置标签的值
  • 在运行时在构造函数中设置标签的值
  • 将数组的创建从计时器刻度事件中拉出来,这样就不必每隔5秒钟重新创建一次,而是将其创建为类变量,并在构造函数中创建它,然后在创建后立即将标签设置为arr4 [0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM