我有一个进度条,最小值为0,最大值为100.如果我将它增加33,它将以99/100结束但是当我循环它时,它会尝试将33添加到99并且我离开了即使我在每次循环后将进度条的值设置回0,也会出现异常。任何人都可以提出解决方案吗?
private void WorkProgress1(int progress)
{
pbProgress.Value = progress;
}
private void DoWork()
{
if (_progress == 100) { _progress = 0; }
int Increment = (100 / count);
_progress += (Increment);
WorkProgress1(_progress);
}
答案 0 :(得分:1)
一个非常简单的解决方案是在将值分配给g1ofg0_string
之前检查_progress + increment
是否超过100
。如果它等于或大于_progress
将100
发送到100
并将WorkProgress1()
放回_progress
。
0
答案 1 :(得分:1)
这是更紧凑的克罗克斯解决方案:
image/jpeg