2

目前我有一个队列系统,它放置所有下载文件的链接,并一个一个地下载它们。

我一直在尝试做的不是 1 个而是 2 个进度条。在所有文件完成下载之前,顶部进度条将显示当前文件的进度,下面的进度条将显示整体进度。

我试图想出办法来做到这一点,但我无法弄清楚我将如何去做。

我试过的是这样的:

If Me.fileUrls.Count = 1 Then
    CProgressBarTotal.Value = Help.ProgPercent.Text
Else
    CProgressBarTotal.Value = Help.ProgPercent.Text / Me.fileUrls.Count
End If

后来我意识到,这行不通。我也试着想其他方法来做,但是我什么都想不出来。

有谁知道我将如何去做这件事?谢谢。

4

2 回答 2

0

您不需要 if 语句:

CProgressBarTotal.Value = (currentFileNumber / Me.fileUrls.Count + Help.ProgPercent.Text / 100 / Me.fileUrls.Count) * CProgressBarTotal.Maximum
于 2013-09-09T19:11:57.183 回答
0

要有第二个进度条来跟踪下载的总字节数:

  1. 在显示下载屏幕之前,确定要下载的总字节数。这里的细节取决于下载机制,但大多数 FTP 和 HTTP 服务器会提供文件大小。在他们不这样做的情况下,您必须做出合理的估计。将其存储在可访问的成员变量中。

  2. 为下载的总字节数创建一个可访问的成员变量。将此绑定到更新单文件进度的同一例程,以便每个下载“tick”除了当前文件的百分比外,还会像现在一样累积“下载的字节数”字段。

  3. 将总字节数绑定到“总百分比”进度条最大值。将字节下载计数器绑定到进度条的位置。

额外要点:以动态方式配置绑定,这样如果将文件添加到下载队列(或从下载队列中删除),下载计数的总字节数会实时更新,进度条会相应地重置进度.

于 2013-09-09T17:15:41.693 回答