好的,所以下面的代码只是我如何推进进度条的一个示例。
我一直在调整以下行:System.Threading.Thread.Sleep(100)
(快速处理)或System.Threading.Thread.Sleep(2000)
(处理速度较慢)。
反正有没有动态调整?
一些背景信息可能有所帮助。我每天都会创建几百到几千的PDF。然后,所有PDF都被压缩并通过SFTP传输。 PDF大小也可能有所不同。
如果我只有一些小的PDF需要处理,显然我的System.Threading.Thread.Sleep(100)
会在低端。
这让我回到原来的问题,是否可以根据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
答案 0 :(得分:1)
你的例子错了!在那里睡觉,是为了展示一个真正耗时的操作。您需要将其取出,并编写您需要执行的实际操作;)