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

事后我意识到,这是行不通的。我也试图想出其他方法来做到这一点,但是,我什么也想不起来。

有谁知道我将如何做到这一点?谢谢。

你不应该需要一个 if 语句:

CProgressBarTotal.Value = (currentFileNumber / Me.fileUrls.Count + Help.ProgPercent.Text / 100 / Me.fileUrls.Count) * CProgressBarTotal.Maximum

要有第二个进度条来跟踪下载的总字节数,请执行以下操作:

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新