1

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

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

这可能吗?我该怎么做?

4

4 回答 4

3

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

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

于 2009-01-04T08:30:20.847 回答
0

如果您知道要下载的文件的总大小,并且您知道到目前为止下载的文件的总大小,那么您可以将 .Maximum 设置为文件的总大小,并将 .Position 设置为到目前为止的总下载量. 无需担心文件之间的大小是如何分割的。

还是您的意思是要根据每个文件的大小在进度条上打勾?

于 2009-01-04T08:15:27.400 回答
0

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

于 2009-01-04T08:38:59.223 回答
0

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

于 2009-01-04T08:56:25.413 回答