我有一个不会报告进度的Backrgound工作人员。我需要得到一个确切的值,而不是一个百分比。我不确定如何编码进度更改事件。我已将WorkReportsProgress属性设置为true。我对C#还是比较陌生,所以请原谅我的糟糕知识。后台工作人员不会报告进度
private void BKGWork_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker worker = sender as BackgroundWorker;
for (int i = 1; i <= 20; i++)
{
//do work
worker.ReportProgress(i);
}
}
private void BKGWork_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
//not sure how to get the exact value of i and compare it to see which loop the background worker is in.
}
尝试了这种方法,但仍没有得到任何结果。控制台完全空白。 –
您是否调用了'RunWorkerAsync'来启动后台工作?你确定你的事件处理程序已订阅。 – FloatingKiwi
我弄明白了,我还没有宣布ProgressChanged事件。你的方法有效。 –