Как использовать процент вместо элемента управления ProgressBar в VB.NET BackgroundWorker - PullRequest
0 голосов
/ 09 октября 2018

Я просто хочу сообщить ProgressChanged при выполнении метода DoWork

Мой код таков:

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 % в качестве индикатора.

Как этого добиться?Спасибо.

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

После слишком многих попыток я сделал следующее с этим кодом

Это мой 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

Теперь это прекрасно работает.,

0 голосов
/ 09 октября 2018

В вашем методе ProgressChanged параметр 'e' содержит процентное значение в e.ProgressPercentage

Так что вам просто нужно загрузить его так:

uploadStat.Text = "Uploading" & e.ProgressPercentage & "%"
...