How to work with Backgroundworker

Jun 10, 2013 at 11:54 AM
 Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork

        Dim SevenZipDLLPath As String
        If (Environment.Is64BitOperatingSystem) Then
            SevenZipDLLPath = Path.Combine(Application.StartupPath + "\7z.dll")

        Else
            SevenZipDLLPath = Path.Combine(Application.StartupPath + "\7z.dll")
        End If

        SevenZipExtractor.SetLibraryPath(SevenZipDLLPath)

        Dim fileName As String = "D:\FTP\Full7Zip\SMSDATA_208_20130530_0401.7z"
        Dim diRectory As String = "D:\FTP\DBFRaw7\208"
        Using extr As New SevenZipExtractor(fileName)
            extr.EventSynchronization = EventSynchronizationStrategy.AlwaysAsynchronous
            updateLabelText(CInt(extr.FilesCount.ToString))
            BackgroundWorker1.ReportProgress(0)
            AddHandler extr.Extracting, New EventHandler(Of ProgressEventArgs)(AddressOf BackgroundWorker1.ReportProgress)
            'AddHandler extr.FileExtractionStarted, New EventHandler(Of FileInfoEventArgs)(AddressOf extr_FileExtractionStarted)
            'AddHandler extr.FileExists, New EventHandler(Of FileOverwriteEventArgs)(AddressOf extr_FileExists)
            'AddHandler extr.ExtractionFinished, New EventHandler(Of EventArgs)(AddressOf extr_ExtractionFinished)

            extr.ExtractArchive(diRectory)
        End Using
        System.Threading.Thread.Sleep(20)
    End Sub
  Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As System.Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged

        pb_ExtractWork3.Visible = True
        pb_ExtractWork3.Increment(e.ProgressPercentage)
        pb_ExtractWork3.Refresh()
    End Sub
    Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
        pb_ExtractWork3.Visible = True
        pb_ExtractWork3.Value = pb_ExtractWork3.Maximum
        pb_ExtractWork3.Refresh()
    End Sub
What i ask are....
  1. how to makes Backgroundworker progresschanged works?
  2. is there any solutions to work with paralel procces such as 3 backgroundworker at the same time?
Please give me any clue...

Thanks & Regards,
Thomas Benny