none
ProgressBar setzt sich nicht in Bewegung / C# / WinForms RRS feed

  • Frage

  • Hallo Leute,

    folgender Code soll nix anderes machen, als eine ProgressBar in Bewegung setzten. Die Feinheiten kommen dann später, wenn sie sich in Bewegung setzen würde, was sie nicht tut. Warum nicht? Wo ist der Wurm drin? Wie geht's richtig?

            private void bewertenToolStripMenuItem_Click(object sender, EventArgs e) {
                pBarScoring.Visible = true;
                pBarScoring.Enabled = true;
                pBarScoring.Maximum = 100;
                pBarScoring.Step = 1;
                pBarScoring.Value = 0;
                pBarScoring.MarqueeAnimationSpeed = 250;
                if(backgroundWorker.IsBusy != true) 
                    backgroundWorker.RunWorkerAsync();
            }
            private void Calculate(int i) {
                double pow = Math.Pow(i, i);
            }
            private void backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) {
                pBarScoring.Value = e.ProgressPercentage;
            }
            private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) {
                BackgroundWorker backgroundWorker = sender as BackgroundWorker;
                for(int j = 0 ; j < 100000 ; j++) {
                    this.Calculate(j);
                    backgroundWorker.ReportProgress((j * 100) / 100000);
                }
            }

    Die Propertie workerReportProgress wurde über das Propertyfenster auf True gesetzt. Im Debugmodus fällt auf, dass die Methode RunWorkerAsync() ineffektiv ist, also nix bewirkt







    • Bearbeitet tklustig Samstag, 17. August 2019 12:30
    Samstag, 17. August 2019 12:21

Antworten