目前我有一个队列系统,它将所有链接放在下载文件中,然后逐个下载。
我一直试图做的不是1个而是2个进度条。顶部进度条将用于当前文件的进度,下面的进度条将用于整体进度,然后才能完成所有文件的下载。
我试图找到方法来解决这个问题,但我无法弄清楚我会怎么做。
我试过的是:
If Me.fileUrls.Count = 1 Then
CProgressBarTotal.Value = Help.ProgPercent.Text
Else
CProgressBarTotal.Value = Help.ProgPercent.Text / Me.fileUrls.Count
End If
我意识到,这不会奏效。我也想过其他方法去做,但我想不出任何事情。
有谁知道我怎么能这样做?感谢。
答案 0 :(得分:0)
要有第二个进度条来跟踪下载的总字节数:
在显示下载屏幕之前,确定要下载的总字节数。这里的细节取决于下载机制,但大多数FTP和HTTP服务器将提供文件大小。如果他们不这样做,你将不得不做出合理的估计。将其存储在可访问的成员变量中。
为下载的总字节数创建一个可访问的成员变量。将此绑定到更新单个文件进度的相同例程,以便每次下载“tick”还会累积“已下载的字节数”字段以及当前文件的百分比。
< / LI>将总字节数绑定到“总百分比”进度条最大值。将下载的字节数绑定到进度条的位置。
对于额外点:以动态方式配置绑定,这样,如果将文件添加到下载队列(或从中删除),则实时更新要下载的总字节数和进度条相应地重新进展。
答案 1 :(得分:0)
您不需要if语句:
CProgressBarTotal.Value = (currentFileNumber / Me.fileUrls.Count + Help.ProgPercent.Text / 100 / Me.fileUrls.Count) * CProgressBarTotal.Maximum