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