Usando el ProgressBar con un BackGroundWorker
Este ejemplo esta especialmente publicado para Emilio Velardiez que me pregunto como usar una barra de progreso con una BackgroundWorker.
Este ejemplo lo haré en una aplicación Windows Form.
A nuestra aplicación Windows Forms vamos a agregar un BackgroundWorker, llamado BackgroundWorker1, y un ProgressBar, llamado ProgressBar1.
Las únicas propiedades que cambiaremos son las del BackgroundWorker1, para que pueda reportar el proceso:

Y este es el código de nuestra aplicación:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
BackgroundWorker1.RunWorkerAsync()
End Sub
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Dim i As Integer
For i = 1 To 1000
BackgroundWorker1.ReportProgress(i / 10)
Threading.Thread.Sleep(500)
Next
End Sub
Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
ProgressBar1.Value = e.ProgressPercentage
End Sub
Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
MsgBox("listo")
End Sub
End Class
Espero, como siempre, que os sea útil.