当尝试发送短信循环时,BackgroundWorker不报告进度
问题描述:
我在发送短信时使用循环时使用BackgroundWorker时出现问题,我想在ProgressBar中返回其进度,但出现错误“它不报告进度”当尝试发送短信循环时,BackgroundWorker不报告进度
private void btnSend_Click(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
comm.Close();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
for (int l = 0; l < 4; l++)
{
backgroundWorker1.ReportProgress(l);
i++;
}
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
}
答
您需要在后台工作的WorkerReportsProgress
属性设置为true
。这可以通过属性窗口在设计器中完成。
+0
谢谢... 问题解决了,我第一次使用backgroundworker。 – 2015-02-08 15:07:38
+0
@ItsumoKokoro - 不客气。我用过很多次,因此忘记了多次设置这个属性。 – 2015-02-08 15:08:23
什么错误? – 2015-02-08 14:52:22
'backgroundWorker1'在哪里定义? – 2015-02-08 14:54:31
由于您的值仅从0..3开始,因此它可能是_is_更新,但您无法看到它,因为它太小而无法使其可见(进度栏类的默认最大值为100)。 – 2015-02-08 15:01:17