我有一個不會報告進度的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事件。你的方法有效。 –