[英]C# how to change textbox value by loop?
我需要創建一個諸如天文鍾的腳本。
我寫如下代碼:
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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.