【发布时间】:2015-02-18 09:04:08
【问题描述】:
我在 VB.Net 中有一个进度条和 backgroundworker,我希望以不同的形式工作,如下所示:
Form1()
{
MaxRows = 10
for i = 0 to MaxRows then
// Update my value on the progressbar
....
next
}
ProgressBarForm
Private Sub ProgressBarForm_Shown(sender As Object, e As EventArgs) Handles Me.Shown
TransferProgressBar.Visible = True
ProgressBarBackgroundWorker.RunWorkerAsync()
End Sub
Private Sub ProgressBarBackgroundWorker_DoWork(sender As Object, e As ComponentModel.DoWorkEventArgs) Handles ProgressBarBackgroundWorker.DoWork
For i = 0 To TransferProgressBar.Maximum
'Dim Percentage As Integer = Math.Round(((i / (TransferProgressBar.Maximum - TransferProgressBar.Minimum)) * 100))
ProgressBarBackgroundWorker.ReportProgress(i / 100)
Next
End Sub
Private Sub ProgressBarBackgroundWorker_ProgressChanged(sender As Object, e As ComponentModel.ProgressChangedEventArgs) Handles ProgressBarBackgroundWorker.ProgressChanged
TransferProgressBar.Value = e.ProgressPercentage
PercentageLabel.Text = "Processing....." & TransferProgressBar.Value.ToString() & "%"
End Sub
Private Sub ProgressBarBackgroundWorker_RunWorkerCompleted(sender As Object, e As ComponentModel.RunWorkerCompletedEventArgs) Handles ProgressBarBackgroundWorker.RunWorkerCompleted
MsgBox("Task Completed!")
Me.Close()
End Sub
如何使用来自另一个表单/Sub 的后台工作人员更新我的进度条值?请告诉我。我在这里有点困惑。
【问题讨论】:
标签: vb.net progress-bar backgroundworker