【发布时间】:2016-11-29 09:45:04
【问题描述】:
我有一个根据三个操作前进的进度。 第一个操作需要 10 秒,第二个操作需要 15 秒,第三个操作需要 15 秒。 可以使用以下公式计算进度百分比:
elapsedTime/totalTime * 100%
其中 totalTime 为 10+15+15 = 40 秒。
现在假设每个操作可能有一个在每个操作结束时计算的错误(例如第一个操作需要 3 秒以上,因此完成它的时间是 13 秒)。 什么是重新计算进度百分比的新方法,以便进度 总是往前走(应该慢慢往前走,但永远不要后退)?
我的最大进度设置为 100。
【问题讨论】:
-
我什至不会尝试估计每个进程的时间。也许一台速度较慢的计算机会执行此工具,这将需要更多时间。这不准确!我宁愿将百分比除以进程数。当然不是每个百分比都一样。
-
另外:您可以将后备进程添加到进程总数中。这样,进度只会变慢,但永远不会倒退。
标签: c# wpf visual-studio progress-bar