ya me contesto yo solo pues ya me funciona y perfectamente como queria, mushisimas gracias. La solución o mejor dicho la manera de integrarlo en eun codigo parecido al mio es.
crear un private sub nuevo por ej.:
Código:
Private Sub BakcWork()
If Not Me.BackgroundWorker1.IsBusy Then
With BackgroundWorker1
.WorkerSupportsCancellation = True
.RunWorkerAsync()
End With
End If
End Sub
y en el boton_click llamas a ese sub y en el evento dowork del backgroundWorker1 llamas al private sub donde esta el codigo que quieres ejecutar en segundo plano (para qu eno se bloquee la ventana principal y reporte los cambios)
por ej.:
Código:
Private Sub BackgroundWorker1_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
RecorreGrid()
End Sub
Gracias, y espero le sirva a alguien mas mi problemilla