Как использовать событие BackgroundWorker RunWorkerCompleted

Все, я уже знал основное использованиеBackgroundWorker обрабатывать несколько потоков в WinForm. И структура кода выглядит следующим образом.

В основной ветке приложения. просто запустите BackgroundWork.

    if (backgroundWorker1.IsBusy != true)
    {
        // Start the asynchronous operation.
        backgroundWorker1.RunWorkerAsync();
    }

Тогда это уволитDoWork событие . Таким образом, мы можем сделать что-то там.

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    BackgroundWorker worker = sender as BackgroundWorker;
    ......
    // report progress.
    worker.ReportProgress(iProgress);
    ....
}

Тогда нам просто нужно справиться сProgressChanged событие, чтобы показать прогресс BackgroundWorker.

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
    //show progress.   
    resultLabel.Text = (e.ProgressPercentage.ToString() + "%");
}

ПослеDoWork закончено или произошло какое-то исключение. событиеRunWorkerCompleted будет уволен.

Вот мои вопросы для этого события. пожалуйста, помогите рассмотреть их. Благодарю.

Я заметил, что есть свойство с именем 'Результат' вRunWorkerCompletedEventArgs eДля чего он используется? Как я могу использовать это?

Есть ли возможность получить мое сообщение об исключении вместоe.error? Если есть, как это сделать?

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    if (e.Cancelled == true)
    {
        resultLabel.Text = "Canceled!";
    }
    else if (e.Error != null)
    {
        resultLabel.Text = "Error: " + e.Error.Message;
    }
    else
    {
        resultLabel.Text = e.Result.ToString();
    }
}

Ответы на вопрос(3)

Ваш ответ на вопрос