如何在 VB.NET BackgroundWorker 中使用百分比而不是 ProgressBar 控件
How to use percentage instead of ProgressBar control in VB.NET BackgroundWorker
我只想在执行DoWork
方法时报告ProgressChanged
我的代码是这样的:
Private Sub CloudDataWorker_DoWork(sender As Object, e As DoWorkEventArgs) Handles CloudDataWorker.DoWork
GlobalVartions.PushtoCloud()
CloudDataWorker.ReportProgress(100, "")
End Sub
到目前为止我所做的是行不通的。
Private Sub CloudDataWorker_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles CloudDataWorker.ProgressChanged
uploadStat.Text = "Uploading" & "%"
End Sub
我不想使用 Progressbar
,而是使用 percentage %
作为指标。
我怎样才能做到这一点?谢谢。
在您的 ProgressChanged 方法中,'e' 参数保存 e.ProgressPercentage
中的百分比值
所以你只需要像这样加载它:
uploadStat.Text = "Uploading" & e.ProgressPercentage & "%"
经过多次尝试,我用这段代码完成了以下操作
这是我的DoWork
方法
Private Sub CloudDataWorker_DoWork(sender As Object, e As DoWorkEventArgs) Handles CloudDataWorker.DoWork
Dim i As Integer = 1
Do While (i <= 10)
If (CloudDataWorker.CancellationPending = True) Then
e.Cancel = True
Exit Do
Else
GlobalVartions.PushtoCloud()
CloudDataWorker.ReportProgress((i * 2))
End If
i = (i + 1)
Loop
End Sub
还有我的ProgressChanged
方法
Private Sub CloudDataWorker_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles CloudDataWorker.ProgressChanged
uploadStat.Text = (e.ProgressPercentage.ToString + "%")
End Sub
现在效果很好。 .
我只想在执行DoWork
方法时报告ProgressChanged
我的代码是这样的:
Private Sub CloudDataWorker_DoWork(sender As Object, e As DoWorkEventArgs) Handles CloudDataWorker.DoWork
GlobalVartions.PushtoCloud()
CloudDataWorker.ReportProgress(100, "")
End Sub
到目前为止我所做的是行不通的。
Private Sub CloudDataWorker_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles CloudDataWorker.ProgressChanged
uploadStat.Text = "Uploading" & "%"
End Sub
我不想使用 Progressbar
,而是使用 percentage %
作为指标。
我怎样才能做到这一点?谢谢。
在您的 ProgressChanged 方法中,'e' 参数保存 e.ProgressPercentage
中的百分比值所以你只需要像这样加载它:
uploadStat.Text = "Uploading" & e.ProgressPercentage & "%"
经过多次尝试,我用这段代码完成了以下操作
这是我的DoWork
方法
Private Sub CloudDataWorker_DoWork(sender As Object, e As DoWorkEventArgs) Handles CloudDataWorker.DoWork
Dim i As Integer = 1
Do While (i <= 10)
If (CloudDataWorker.CancellationPending = True) Then
e.Cancel = True
Exit Do
Else
GlobalVartions.PushtoCloud()
CloudDataWorker.ReportProgress((i * 2))
End If
i = (i + 1)
Loop
End Sub
还有我的ProgressChanged
方法
Private Sub CloudDataWorker_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles CloudDataWorker.ProgressChanged
uploadStat.Text = (e.ProgressPercentage.ToString + "%")
End Sub
现在效果很好。 .