Поделиться через


RunWorkerCompletedEventArgs Класс

Определение

Предоставляет данные для события MethodNameCompleted .

public ref class RunWorkerCompletedEventArgs : System::ComponentModel::AsyncCompletedEventArgs
public class RunWorkerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
type RunWorkerCompletedEventArgs = class
    inherit AsyncCompletedEventArgs
Public Class RunWorkerCompletedEventArgs
Inherits AsyncCompletedEventArgs
Наследование
RunWorkerCompletedEventArgs

Примеры

В следующем примере кода показано использование RunWorkerCompletedEventArgs. Этот пример является частью более крупного примера для BackgroundWorker класса.

// This event handler deals with the results of the
// background operation.
void backgroundWorker1_RunWorkerCompleted( Object^ /*sender*/, RunWorkerCompletedEventArgs^ e )
{
   // First, handle the case where an exception was thrown.
   if ( e->Error != nullptr )
   {
      MessageBox::Show( e->Error->Message );
   }
   else
   if ( e->Cancelled )
   {
      // Next, handle the case where the user cancelled 
      // the operation.
      // Note that due to a race condition in 
      // the DoWork event handler, the Cancelled
      // flag may not have been set, even though
      // CancelAsync was called.
      resultLabel->Text = "Cancelled";
   }
   else
   {
      // Finally, handle the case where the operation 
      // succeeded.
      resultLabel->Text = e->Result->ToString();
   }

   // Enable the UpDown control.
   this->numericUpDown1->Enabled = true;

   // Enable the Start button.
   startAsyncButton->Enabled = true;

   // Disable the Cancel button.
   cancelAsyncButton->Enabled = false;
}
// This event handler deals with the results of the
// background operation.
void backgroundWorker1_RunWorkerCompleted(
    object sender, RunWorkerCompletedEventArgs e)
{
    // First, handle the case where an exception was thrown.
    if (e.Error != null)
    {
        _ = MessageBox.Show(e.Error.Message);
    }
    else if (e.Cancelled)
    {
        // Next, handle the case where the user canceled 
        // the operation.
        // Note that due to a race condition in 
        // the DoWork event handler, the Cancelled
        // flag may not have been set, even though
        // CancelAsync was called.
        resultLabel.Text = "Canceled";
    }
    else
    {
        // Finally, handle the case where the operation 
        // succeeded.
        resultLabel.Text = e.Result.ToString();
    }

    // Enable the UpDown control.
    numericUpDown1.Enabled = true;

    // Enable the Start button.
    startAsyncButton.Enabled = true;

    // Disable the Cancel button.
    cancelAsyncButton.Enabled = false;
}
' This event handler deals with the results of the
' background operation.
Private Sub backgroundWorker1_RunWorkerCompleted(
ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs) _
Handles backgroundWorker1.RunWorkerCompleted

    ' First, handle the case where an exception was thrown.
    If (e.Error IsNot Nothing) Then
        MessageBox.Show(e.Error.Message)
    ElseIf e.Cancelled Then
        ' Next, handle the case where the user canceled the 
        ' operation.
        ' Note that due to a race condition in 
        ' the DoWork event handler, the Cancelled
        ' flag may not have been set, even though
        ' CancelAsync was called.
        resultLabel.Text = "Canceled"
    Else
        ' Finally, handle the case where the operation succeeded.
        resultLabel.Text = e.Result.ToString()
    End If

    ' Enable the UpDown control.
    numericUpDown1.Enabled = True

    ' Enable the Start button.
    startAsyncButton.Enabled = True

    ' Disable the Cancel button.
    cancelAsyncButton.Enabled = False
End Sub

Комментарии

При использовании асинхронного шаблона на основе событий для асинхронных операций форма Или элемент управления Windows Forms инициирует асинхронную операцию путем вызова BackgroundWorker.RunWorkerAsync метода. Метод, в свою очередь, вызывает BackgroundWorker.DoWork событие асинхронно и передает его DoWorkEventArgs экземпляр. Если асинхронная операция возвращает значение, BackgroundWorker.DoWork обработчик событий обычно назначает его свойству DoWorkEventArgs.Result . После завершения BackgroundWorker.RunWorkerCompleted асинхронной операции событие вызывается и передается RunWorkerCompletedEventArgs экземпляр, содержащий сведения о состоянии операции (была ли операция отменена, выполнена ошибка или выполнена успешно). Если он успешно завершен, его Result свойство содержит значение, возвращаемое асинхронной операцией и ранее назначенное свойству DoWorkEventArgs.Result .

Замечание

Атрибут, применяемый к этому классу, имеет следующее HostProtectionAttributeResources значение свойства: SharedState Это HostProtectionAttribute не влияет на классические приложения (которые обычно запускаются путем двойного щелчка значка, ввода команды или ввода URL-адреса в браузере). Дополнительные сведения см. в HostProtectionAttribute разделе "Класс" или "Атрибуты защиты узлов SQL Server".

Конструкторы

Имя Описание
RunWorkerCompletedEventArgs(Object, Exception, Boolean)

Инициализирует новый экземпляр класса RunWorkerCompletedEventArgs.

Свойства

Имя Описание
Cancelled

Возвращает значение, указывающее, была ли отменена асинхронная операция.

(Унаследовано от AsyncCompletedEventArgs)
Error

Возвращает значение, указывающее, какая ошибка произошла во время асинхронной операции.

(Унаследовано от AsyncCompletedEventArgs)
Result

Возвращает значение, представляющее результат асинхронной операции.

UserState

Возвращает значение, представляющее пользовательское состояние.

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
RaiseExceptionIfNecessary()

Вызывает исключение, предоставленное пользователем, если не удалось выполнить асинхронную операцию.

(Унаследовано от AsyncCompletedEventArgs)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел