I've prepared a small sample for you (just a RadProgressbar on a form) which sets the value1 for each of 4 tasks, and value 2 to be the overall progress.
Hope this helps but let me know if you have any questions.
Imports System
Imports System.ComponentModel
Imports Telerik.WinControls
Imports Telerik.WinControls.UI
Public Class Form1
Private WithEvents m_BackgroundWorker1 As New BackgroundWorker()
Private WithEvents m_BackgroundWorker2 As New BackgroundWorker()
Private WithEvents m_BackgroundWorker3 As New BackgroundWorker()
Private WithEvents m_BackgroundWorker4 As New BackgroundWorker()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
m_BackgroundWorker1.WorkerReportsProgress = True
m_BackgroundWorker2.WorkerReportsProgress = True
m_BackgroundWorker3.WorkerReportsProgress = True
m_BackgroundWorker4.WorkerReportsProgress = True
m_BackgroundWorker1.RunWorkerAsync()
End Sub
' background 1
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles m_BackgroundWorker1.DoWork
For counter = 1 To 250
If counter Mod 10 = 0 Then
Me.m_BackgroundWorker1.ReportProgress(Me.RadProgressBar1.Value1 + 1)
System.Threading.Thread.Sleep(100)
End If
Next counter
End Sub
Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As System.Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles m_BackgroundWorker1.ProgressChanged
Me.RadProgressBar1.Value2 = 25
Me.RadProgressBar1.Value1 = Me.RadProgressBar1.Value1 + 1
End Sub
Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles m_BackgroundWorker1.RunWorkerCompleted
Me.m_BackgroundWorker2.RunWorkerAsync()
End Sub
' background 2
Private Sub BackgroundWorker2_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles m_BackgroundWorker2.DoWork
For counter = 1 To 250
If counter Mod 10 = 0 Then
Me.m_BackgroundWorker2.ReportProgress(0)
System.Threading.Thread.Sleep(100)
End If
Next counter
End Sub
Private Sub BackgroundWorker2_ProgressChanged(ByVal sender As System.Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles m_BackgroundWorker2.ProgressChanged
Me.RadProgressBar1.Value2 = 50
Me.RadProgressBar1.Value1 = Me.RadProgressBar1.Value1 + 1
End Sub
Private Sub BackgroundWorker2_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles m_BackgroundWorker2.RunWorkerCompleted
Me.m_BackgroundWorker3.RunWorkerAsync()
End Sub
' background 3
Private Sub BackgroundWorker3_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles m_BackgroundWorker3.DoWork
For counter = 1 To 250
If counter Mod 10 = 0 Then
Me.m_BackgroundWorker3.ReportProgress(0)
System.Threading.Thread.Sleep(100)
End If
Next counter
End Sub
Private Sub BackgroundWorker3_ProgressChanged(ByVal sender As System.Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles m_BackgroundWorker3.ProgressChanged
Me.RadProgressBar1.Value2 = 75
Me.RadProgressBar1.Value1 = Me.RadProgressBar1.Value1 + 1
End Sub
Private Sub BackgroundWorker3_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles m_BackgroundWorker3.RunWorkerCompleted
Me.m_BackgroundWorker4.RunWorkerAsync()
Me.RadProgressBar1.Value2 = 100
End Sub
' background 4
Private Sub BackgroundWorker4_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles m_BackgroundWorker4.DoWork
For counter = 1 To 250
If counter Mod 10 = 0 Then
Me.m_BackgroundWorker4.ReportProgress(0)
System.Threading.Thread.Sleep(100)
End If
Next counter
End Sub
Private Sub BackgroundWorker4_ProgressChanged(ByVal sender As System.Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles m_BackgroundWorker4.ProgressChanged
Me.RadProgressBar1.Value1 = Me.RadProgressBar1.Value1 + 1
End Sub
Private Sub BackgroundWorker4_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles m_BackgroundWorker4.RunWorkerCompleted
RadMessageBox.Show("All Complete", "Done", MessageBoxButtons.OK, RadMessageIcon.Info)
End Sub
End Class