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. Этот пример является частью более крупного примера для 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) |