RunWorkerCompletedEventHandler 委托    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示将处理 RunWorkerCompleted 类的 BackgroundWorker 事件的方法。
public delegate void RunWorkerCompletedEventHandler(System::Object ^ sender, RunWorkerCompletedEventArgs ^ e);public delegate void RunWorkerCompletedEventHandler(object sender, RunWorkerCompletedEventArgs e);public delegate void RunWorkerCompletedEventHandler(object? sender, RunWorkerCompletedEventArgs e);type RunWorkerCompletedEventHandler = delegate of obj * RunWorkerCompletedEventArgs -> unitPublic Delegate Sub RunWorkerCompletedEventHandler(sender As Object, e As RunWorkerCompletedEventArgs)参数
- sender
- Object
事件源。
示例
下面的代码示例演示可用作 的 RunWorkerCompletedEventHandler处理程序的方法。 此示例是 类的较大示例的 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
注解
创建 RunWorkerCompletedEventHandler 委托时,需要确定处理事件的方法。 若要将事件与事件处理程序关联,请将该委托的一个实例添加到事件中。 除非移除了该委托,否则每当发生该事件时就会调用事件处理程序。 有关事件处理程序委托的详细信息,请参阅 处理和引发事件。
扩展方法
| GetMethodInfo(Delegate) | 获取指示指定委托表示的方法的对象。 |