Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#19

Re: Threads und BackgroundWorker

  Alt 14. Mär 2008, 12:56
So wir haben es gleich geschafft. Nur noch zwei, drei Dinge.

Ich rufe die Methode CancelAsync() auf, um den BackgroundWorker zu stoppen. Allerdings schein dann das Fenster nicht mehr zu reagieren und gestoppt wird anscheinen auch nichts:
Code:
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            if (backgroundWorker1.CancellationPending)
            {
                lblStatusText.Text = resManager.GetString("BkWorkerUserCancel");
                e.Cancel = true;
            }
            for (int i = 0; i < 10000000; i++)
            {
                backgroundWorker1.ReportProgress((int)i / 10);
                Thread.Sleep(0);
               
            }
        }

        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            lblStatusText.Text = resManager.GetString("BkWorkerStatusRunning");
            this.Update();
        }       

        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            lblStatusText.Text = resManager.GetString("BkWorkerStatusFinish");
        }
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat