0

好的,下面的代码只是我如何推进进度条的一个例子。我一直在调整以下行:(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
4

1 回答 1

1

你拿错例子了!那里的睡眠是为了演示一个真正耗时的操作。你需要把它拿出来,写下你需要执行的实际操作;)

于 2012-04-11T15:43:53.713 回答