A Visual Basic backGroundWorker control is used to execute an operation on a seperate thread. If you want to use BackGroundWorker control you have to import System. ComponentModel in to the project namespace. The inheritance hierarchy for BackGroundWorker control is given below.
Private WithEvents TestWorker As System.ComponentModel.BackgroundWorker Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click btnStart.Enabled = False btnCancel.Enabled = True lstValues.Items.Clear() prgThread.Value = 0 TestWorker = New System.ComponentModel.BackgroundWorker TestWorker.WorkerReportsProgress = True TestWorker.WorkerSupportsCancellation = True TestWorker.RunWorkerAsync() End Sub Private Sub TestWorker_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles TestWorker.DoWork Dim ListText As String For Value As Integer = 0 To 100 If TestWorker.CancellationPending Then Exit For End If ListText = String.Concat("Item #", Value) TestWorker.ReportProgress(Value, ListText) Threading.Thread.Sleep(100) Next End Sub Private Sub TestWorker_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles TestWorker.ProgressChanged prgThread.Value = e.ProgressPercentage lstValues.Items.Add(e.UserState) End Sub Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click TestWorker.CancelAsync() End Sub Private Sub TestWorker_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles TestWorker.RunWorkerCompleted btnStart.Enabled = True btnCancel.Enabled = False End Sub OutPut:-
Updation of Controls using BackGroundWorker in VB.NET
Working of LinkLabel in VB.NET