-2
Я использовал Backgroundworkerlass для обновления моего элемента пользовательского интерфейса (Label). Пожалуйста! Проверьте мой код ниже. Он работает нормально. Но я пытаюсь заменить Backgroundworkerlass и использовать простой рабочий поток для достижения той же цели. Как я могу это достичь? Любое предложение будет оценено по достоинству. БлагодаряЗаменить Backgroundworkerlass с рабочим потоком
public void backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
label1.Text = e.ProgressPercentage.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
if (!backgroundWorker1.IsBusy)
backgroundWorker1.RunWorkerAsync();
else
label1.Text = "Busy Processing";
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i <= 100; i++)
{
Thread.Sleep(100);
backgroundWorker1.ReportProgress(i);
if (backgroundWorker1.CancellationPending)
{
e.Cancel = true;
backgroundWorker1.ReportProgress(0);
return;
}
}
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
label1.Text = e.ProgressPercentage.ToString();
}
Я дам вам подсказку: начать писать код, а затем спросить, если что-то пойдет не так. – walther
Если «BackgroundWorker» работает нормально, почему вы хотите усложнить свою жизнь голой нитью? –
Я просто научился использовать как фоновый поток, так и рабочий поток для решения одной и той же проблемы. Это просто учебный процесс. – user3342876