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


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.
private 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.
    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.
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.
    Me.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 .

Примечание

Атрибут HostProtectionAttribute , применяемый к этому классу, имеет следующее Resources значение свойства: 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)

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

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