進捗状況を報告しない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イベントを宣言していないことを理解しています。あなたの方法は機能します。 –