progressBar偶尔会停止更新(以及GUI的其余部分),并且缺少矩形部分。 这只是在目标windows-ce 5.0平板电脑设备上间歇性地看到,从不在Windows 7上。 更改progressBar.Maximum之后的progressBar.Refresh()没有帮助。 导致它的确切顺序是未知的,我无法在目标设备上运行调试器(我使用PC平台调试应用程序,但在PC上运行应用程序时从未见过这个问题)。 可能是什么导致了这个? 进度条及其关联的标签以这种方式更新。
progressBar.Value = Status.value;
label.Text = Status.value;
label.Text总是正确的。
答案 0 :(得分:1)
您可以将数据回显给Label控件,尤其是
debugLabel.Text = progressBar1.Value;
这可以帮助您找到进度条的哪些值没有显示,以及它是否始终具有相同的值或随机值。
随机值会让我觉得GUI太忙而无法脱离。
相同的值会让我想到设备上的坏像素。
您还有其他数据需要提供吗?
答案 1 :(得分:0)
听起来像UI线程没有足够的量来完全绘制所需的一切。设置其值和标签文本更新后,请尝试调用Application.DoEvents
。
答案 2 :(得分:0)
根本原因是对gui线程之外的gui进行了更改。实际的解决方案是对System.Windows.Forms.Timer中的进度条进行所有更改。