好的,下面的代码只是我如何推进进度条的一个例子。我一直在调整以下行:(System.Threading.Thread.Sleep(100)
快速过程)或System.Threading.Thread.Sleep(2000)
(较慢过程)。
反正有没有即时调整这个?
一些背景信息可能会有所帮助。每天,我创建的 PDF 文件从几百到几千不等。然后,所有 PDF 文件都会被压缩并通过 SFTP 传输。PDF 大小也可能不同。
显然System.Threading.Thread.Sleep(100)
,如果我只有少量的小型 PDF 文件要处理,我的处境会比较低。
这让我回到了最初的问题,可以根据 PDF 的数量和所有 PDF 的大小即时调整睡眠数吗?
还是我需要处理一次测试运行并找到要使用的神奇数字?
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim ZipPDFs As BackgroundWorker = CType(sender, BackgroundWorker)
Dim i As Integer
For i = 1 To 10
If (ZipPDFs.CancellationPending = True) Then
e.Cancel = True
Exit For
Else
' Perform a time consuming operation and report progress.
System.Threading.Thread.Sleep(100)
ZipPDFs.ReportProgress(i * 10)
End If
Next
End Sub