バックグラウンドワーカーが進行状況バーで動作しない理由(デフォルトでは、可視性はfalseに設定されています)。私のバックグラウンドワーカーが進行状況バーのために動作しない理由
バックグラウンドで進行状況バーを表示しようとしています。ユーザーが[OK]ボタンをクリックすると、タイマーが開始され、進行状況バーが表示されます。 を実行し、backgroundWorker.RunWorkerAsync()を実行します。 backgroundWorker_RunWorkerCompletedではプログレスバーの表示をfalseに設定しました。
問題は、プログレスバーを表示するだけですが、進行状況を表示しないことです。
私のコードはここにある:
private void btnOk_Click(object sender, EventArgs e)
{
timer.Start();
progressBar.Visible = true;
backgroundWorker.RunWorkerAsync();
doSomeWork();
}
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
}
private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
timer.Stop();
progressBar.Visible = false;
}
private void timer_Tick(object sender, EventArgs e)
{
MessageBox.Show("called");
if (progressBar.Value == progressBar.Maximum)
{
progressBar.Value = progressBar.Minimum;
return;
}
progressBar.PerformStep();
}
private void backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar.Value = e.ProgressPercentage;
}
なぜそれがプログレスバーに進行状況が表示されませんか?それは何が間違っていますか?
「問題は進捗状況を示していますが、進捗状況は表示していません」とはどういう意味ですか? – currarpickt
の編集をご覧ください。 –