【发布时间】:2015-07-10 12:17:24
【问题描述】:
我想在带有 Marquee 样式的表单上添加一个 ProgressBar,以向用户显示正在进行的操作。在耗时的操作过程中,表单不会更新,因此 ProgressBar 也会“冻结”。
我查看了几篇关于 BackgroundWorker 的帖子,但在我的情况下,操作没有报告进度,这就是我需要 Marquee bar 的原因。
感谢任何帮助或代码 sn-p。
注意:我需要使用 .NET 4.0(支持 XP)所以我不能使用 Task.Run :(
button1_Click(object sender, EventArgs e)
{
progressBar1.Style = ProgressBarStyle.Marquee;
progressBar1.MarqueeAnimationSpeed = 50;
// INSERT TIME CONSUMING OPERATIONS HERE
// THAT DON'T REPORT PROGRESS
Thread.Sleep(10000);
progressBar1.MarqueeAnimationSpeed = 0;
progressBar1.Style = ProgressBarStyle.Blocks;
progressBar1.Value = progressBar1.Minimum;
}
【问题讨论】:
-
您知道在消费过程开始时要完成的迭代次数吗? 在这种情况下,我可能会建议你一些实现。
-
这不是迭代,更像是等待 MySQL 连接或 LDAP 响应。
标签: c# progress-bar