我正在下载一组文件,我想在进度条中显示进度。通过将进度条的最大值设置为所有文件的总大小,并将当前位置设置为到目前为止下载的大小,可以很容易地显示整体进度。

我想要做的是将进度条分成几个部分,每个部分代表集合中的不同文件。

这可能吗?我该怎么做?

有帮助吗?

解决方案

如果你知道要下载的文件的总大小,并且你知道到目前为止下载的文件的总大小,那么你可以设置.Maximum到文件的总大小,和.Position到总数目前已下载。无需担心文件之间的大小分配方式。

或者你的意思是你想根据每个文件的大小在进度条上打勾?

其他提示

我认为最简单的方法是创建一个UserControl,在其上放一个ProgressBar,覆盖UserControl的OnPaint()并绘制你的线条。

我认为UserControl比在表单上绘图更容易处理。坐标更容易处理,而且在另一个应用程序中重用它会更容易。

将最大值设置为100.然后,为每个下载的文件执行100 *(file_size / total_download_size)并将它们一起添加。将它们的值相加后,设置进度条的值。每次文件下载完成后更新值。

您可以为每个文件使用一个进度条,为总计使用一个进度条。或者,如果您想要刻度线:简单的解决方案是在该栏下方或上方添加一些线。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top