Warum funktioniert mein Hintergrundarbeiter nicht für Fortschrittsbalken (standardmäßig Sichtbarkeit auf falsch festlegen.).Warum funktioniert mein Hintergrundarbeiter nicht für Fortschrittsbalken?
Ich versuche, einen Fortschrittsbalken im Hintergrund zu haben. Wenn der Benutzer auf OK klickt, starte ich den Timer und mache den Fortschrittsbalken sichtbar. und führen Sie backgroundWorker.RunWorkerAsync(); und im backgroundWorker_RunWorkerCompleted setze ich die Sichtbarkeit der Fortschrittsanzeige auf false.
Das Problem ist, es zeigt nur die Fortschrittsleiste, aber zeigen Sie nicht den Fortschritt.
Mein Code ist hier:
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;
}
Warum kommt es nicht Fortschritt in der Statusleiste? Was ist daran falsch?
'Problem ist es zeigt nur den Fortschritt, aber zeigen Sie nicht den Fortschritt.' Was meinst du? – currarpickt
siehe bitte bearbeiten. –