Tengo este codigo que funciona bien peroo lo malo esque el progres bar da vueltas 2 veces, se llena una ves y vuelve a comenzar de nuevo alguien sabe cual es el problema o porque esta trabajando asi.
Código:
  
que alguien me explique pro favorprivate void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            for (int i = 0; i < progres.Maximum; i++)
            {
                if (bw.CancellationPending == true)
                {
                    e.Cancel = true;
                    break;
                }
                else
                {
                    System.Threading.Thread.Sleep(100);
                    bw.ReportProgress(i);
                }
            }
        }
        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            this.lbl.Text = Convert.ToString((e.ProgressPercentage * 100) / progres.Maximum) + "%";
            progres.Value = e.ProgressPercentage;
        }
DarkWatch
 

