Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#14

Re: Threads und BackgroundWorker

  Alt 14. Mär 2008, 10:18
Hallo Michael,

Zitat von Luckie:
Wenn ich es jetzt wie vorgeschlagen mache, bekomme ich folgende Fehlermeldung:
Zitat:
Dieser BackgroundWorker gibt an, dass er keinen Fortschritt meldet. Ändern Sie WorkerReportsProgress, um anzugeben, dass er einen Fortschritt meldet.
Anscheinend versteht der Compiler (oder passiert es doch zur Laufzeit?), dass Deine Fortschrittsmeldung statisch ist, aber nicht den aktuellen Status verwendet. Ändere diese Methode etwa so:

Code:
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
    lblStatusText.Text = e.ProgressPercentage.ToString()
        + resManager.GetString("BkWorkerStatusRunning");
}
Das kann natürlich mit String.Format() o.a. sehr verschönert werden. Das Prinzip ist aber, dass Du über ProgressChangedEventArgs.ProgressPercentage den aktuellen Stand (wie er über ReportProgress gesetzt wird) und über ProgressChangedEventArgs.UserState sogar einen bestimmten Wert (z.B. den aktuellen Datensatz, der natürlich ebenfalls gesetzt werden müsste) erhältst.

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat