web-dev-qa-db-fra.com

"Ce BackgroundWorker déclare qu'il ne rapporte aucun progrès." - Pourquoi?

je suis nouveau dans ce truc de backgroundworker
j'ai lu quelques articles sur la façon d'en créer un
c'est ce qu'il a produit

    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
        Bitmap imgbox = new Bitmap(pictureBox.Image);

        int imgHeight = imgbox.Height;
        int imgWidth = imgbox.Width;

        int counter = 1;

        MinMaxWidth = imgWidth - 50;
        MaxWidth = imgWidth;

        try
        {
            Color c;
            //Color c2;

            for (int i = 0; i < imgbox.Width; i++)
            {
                for (int j = 0; j < imgbox.Height; j++)
                {
                    c = imgbox.GetPixel(i, j);
                    string cn = c.Name;
                    counter++;
                    backgroundWorker1.ReportProgress(counter);
                }
            }
            MessageBox.Show("SUCESSFULLY DONE");
        }
        catch (Exception ex) { MessageBox.Show(ex.Message); }
    }

    private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
        MyProgress.Value = e.ProgressPercentage;
    }

mais quand j'ai commencé l'événement DoWork. cette erreur est apparue

Ce BackgroundWorker indique qu'il ne rend pas compte de la progression.
Modifiez WorkerReportsProgess pour indiquer qu'il signale la progression.

suivez simplement ce que dit le tutoriel
quel serait le problème?, y a-t-il quelque chose que j'ai oublié?

32
Ozarraga_AB

Comme l'erreur le suggère, définissez la propriété WorkerReportsProgress de votre composant BackgroundWorker sur true.

82
Ry-