gpt4 book ai didi

c# - 如何准确刷新ProgressBar

转载 作者:行者123 更新时间:2023-11-30 19:46:19 25 4
gpt4 key购买 nike

我写了一个使用 for 循环 2 次的简短方法:

progressBar1.Minimum = 1;
progressBar1.Maximum = 1000000;
progressBar1.Step = 1;

for (int idx = 1; idx < 1000000; idx++)
{
progressBar1.PerformStep();
}

Thread.Sleep(2000);
progressBar1.Invalidate();
this.Update();

progressBar1.Value = 1;
for (int idx = 1; idx < 1000000; idx++)
{
progressBar1.PerformStep();
}

我的问题是:在第一次传递时,当值达到 1000000 时,只有实际的彩色条显示大约 50-75% 的跨度,但从不显示 100% 的跨度,即使该值已达到最大值。

这是在一种方法中多次使用进度条的独特之处。

如何让实际的彩色条到达最后?

(显然它是一个缓冲的东西?)

最佳答案

问题是您阻塞了您的 UI 线程。不要那样做。在后台线程(例如 BackgroundWorker)中执行所有长时间运行的任务,然后编码回 UI 线程以更新进度条(BackgroundWorker 使这变得非常简单)。 .. 那么一切都会好起来的。

关于c# - 如何准确刷新ProgressBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8761060/

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