public Form1(){
    InitializeComponent();
    backgroundWorker1.DoWork += backgroundWorker1_DoWork;
    backgroundWorker1.ProgressChanged += backgroundWorker1_ProgressChanged;
    backgroundWorker1.WorkerReportsProgress = true;
}
private void button1_Click(object sender, EventArgs e)
{
    backgroundWorker1.RunWorkerAsync();
}
private void backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
    for (int i = 0; i < 100; i++)
    {
        Thread.Sleep(1000);
        backgroundWorker1.ReportProgress(i);
    }
}
private void backgroundWorker1_ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e)
{
    progressBar1.Value = e.ProgressPercentage;
}
در حلقه، 100 رو به تعداد باری که میخواین کارتون تکرار بشه تغییر بدین.
در thread.sleep، باید 1000 رو به مدت زمان فاصلۀ بین دو کد متوالی تغییر بدین (به میلی ثانیه).
و در نهایت،
progressBar1.Value = e.ProgressPercentage;
رو به کد برنامه تون تغییر بدین.