BackgroundWorker 在尝试发送短信循环时不报告进度

BackgroundWorker doesn't report progress when trying to send a loop of sms

我在使用循环发送短信时使用 BackgroundWorker 时遇到问题,我想 return 它在 ProgressBar 中的进度,但我遇到错误 "it doesn't report progress"

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。这可以通过属性 window.

在设计器中完成