gpt4 book ai didi

c# - 如何在每个循环中更改 TextBlock.Text?

转载 作者:行者123 更新时间:2023-11-30 15:53:05 26 4
gpt4 key购买 nike

这是 UWP C# 应用程序。我想显示 i 变量。

    private void btn2_Click(object sender, RoutedEventArgs e)
{
for(int i = 0; i<=10000000; i++)
{
textBlock2.Text = i.ToString();
}
}

但是在我点击按钮之后,文本只在循环结束后改变了一次。
如何在每个循环中看到变化的文本?

最佳答案

实际上,在执行长循环时,您的 UI 已卡住,因此屏幕上无法更新任何内容。试试这个

private async void btn2_Click(object sender, RoutedEventArgs e)
{
for(int i = 0; i<=10000000; i++)
{
textBlock2.Text = i.ToString();
await Task.Delay(200); //stay 200 ms before showing next number so human eyes can see it.
}
}

当它执行到这一行 await Task.Delay(200); 时,循环暂时挂起 - 200 毫秒,UI 线程现在有机会处理挂起的绘图任务队列,包括重绘文本 block 。

关于c# - 如何在每个循环中更改 TextBlock.Text?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53201919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com