C#窗体如何动态显示变化的数字?

2025-01-05 05:21:53
推荐回答(3个)
回答1:

我按hzl091回答的意思贴一下代码:
for (int i = 0; i < 100; i++)
{
this.Text = i.ToString();
System.Threading.Thread.Sleep(100);
}
一般来说堵塞当前线程并不是个好主意,会影响其它事件的响应,下面这个方法也行,虽然代码难看。
加入一个定时器,时间间隔根据显示速度设定。
int step=0;
int max=10000;
private void timer1_Tick(object sender, EventArgs e)
{
for (int i = step; i < max; i++)
{
this.Text = i.ToString();
step++;
break;
}
}

回答2:

using System.Threading;
然后
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(() =>
{
for (int i = 1; i <= 10000; i++)
{
int j = i;
this.Invoke(new MethodInvoker(()=> this.Text = j.ToString()));
Thread.Sleep(5); // 这里调速度
}
});
t.Start();
}

回答3:

每秒钟sleep一次,sleep(1000),里面的参数是毫秒
用计时器也是可以嘀