c#如何通过循环改变文本框的值
本文关键字:文本 改变 何通过 循环 | 更新日期: 2023-09-27 18:04:11
我需要创建一个脚本,如chronometer
我写了如下代码;
for(int i=0;i<50;i++)
{
textBox.Text = i.Tostring();
Task.Delay(100).Wait();
}
期望的输出就像一个计时器;文本框从0开始递增1到49。
但是经过49*100毫秒的暂停后,我只得到49。
如何解决这个问题?
运行这段代码的事件或方法需要是异步的。这是为了让UI响应:
private async void btnDoWork_Click(object sender, EventArgs e)
{
for(int i=0;i<50;i++)
{
textBox.Text = i.Tostring();
await Task.Delay(100);
}
}
否则,你将阻塞UI线程,你将无法看到文本框的变化。您将只看到最后的更改,在您的示例中是49。