C#滚动数字Windows窗体

问题描述 投票:0回答:1

我想在Windows窗体上创建“滚动数字”大约10秒钟。

我尝试过循环但是我遇到刷新问题(表单冻结并在循环完成时更新)更新文本标签。

它看起来像这个https://youtu.be/Q7JmiCAAqu0(在控制台上制作)会很好

抱歉英文不好^^

c# windows forms loops
1个回答
1
投票

在表单上拖动一个标签和一个计时器。在'InitializeComponent()之后插入以下代码;

        const int maximum = 100;
        int actual = 0;
        timer1.Interval = 100;
        timer1.Enabled = true;
        timer1.Tick += (sender, args) =>
        {
            label1.Text = (actual++ % maximum).ToString();
        };

说明:

  • 标签用于显示滚动数字
  • 定时器用于每N毫秒执行一次操作(在我们的例子中每100ms = 0.1s)
  • const int maximum = 100; //定义我们想要显示的最大数量
  • int actual = 0; //表示我们一次显示的实际数字
  • timer1.Interval = 100; //调用timer1.Tick之后的间隔(在我们的例子中是100ms)
  • timer1.Enabled = true; //启用计时器,没有它就不会调用Tick
  • timer1.Tick + =(sender,args)=> {label1.Text =(实际++%最大值).ToString(); //将文本设置为:actual + 1 modulo 100};

编辑:有关模数的信息:https://en.wikipedia.org/wiki/Modulo_operation

© www.soinside.com 2019 - 2024. All rights reserved.