Я вызываю этот код внутри цикла for, и мне нужно сделать это, поскольку прогресс зависит от этого для значения цикла.Сообщить о прогрессе внутри цикла
bgworker1.ReportProgress(k * count);
Но я получаю исключение:
this operation has already had operation completed called on it and further calls are illegal
Как я могу решить эту проблему ??
Edit:
private void bgworker1_DoWork(object sender, DoWorkEventArgs e)
{
for (k = 1; k <= tcount; k++)
{
bgworker1.ReportProgress(k * count);
}
}
private void bgworker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
private void bgworker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
bgworker1.ReportProgress(k * count);
}
пожалуйста, проверьте, если это не может решить ваши проблема: http://stackoverflow.com/questions/12812725/method-accessed-by-more-than-one-thread-in-c-sharp-using-progressbar – Atiris