RunWorkerCompletedEventHandler (Delegado)
TOC
Collapse the table of content
Expand the table of content

RunWorkerCompletedEventHandler (Delegado)

Actualización: noviembre 2007

Representa el método que controlará el evento RunWorkerCompleted de una clase BackgroundWorker.

Espacio de nombres:  System.ComponentModel
Ensamblado:  System (en System.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true)]
public delegate void RunWorkerCompletedEventHandler(
	Object sender,
	RunWorkerCompletedEventArgs e
)
/** @delegate */
/** @attribute HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true) */
public delegate void RunWorkerCompletedEventHandler(
	Object sender,
	RunWorkerCompletedEventArgs e
)
JScript no admite delegados.

Parámetros

sender
Tipo: System.Object
Origen del evento.
e
Tipo: System.ComponentModel.RunWorkerCompletedEventArgs
RunWorkerCompletedEventArgs que contiene los datos del evento.

ha45x717.alert_note(es-es,VS.90).gifNota:

El atributo HostProtectionAttribute aplicado a este tipo o miembro tiene el siguiente valor de la propiedad Resources: SharedState. El atributo HostProtectionAttribute no afecta a las aplicaciones de escritorio (que normalmente se inician haciendo doble clic en un icono, escribiendo un comando o introduciendo una dirección URL en el explorador). Para obtener más información, vea la clase HostProtectionAttribute o Programación de SQL Server y atributos de protección del host.

Cuando se crea un delegado RunWorkerCompletedEventHandler, se identifica un método para controlar el evento. Para asociar el evento a su controlador, agregue una instancia del delegado al evento. Siempre que se produce el evento, se llama a su controlador, a menos que se quite el delegado. Para obtener más información sobre los delegados del controlador de eventos, vea Eventos y delegados.

En el ejemplo de código siguiente se muestra un método que puede usarse como controlador para RunWorkerCompletedEventHandler. Este ejemplo forma parte de un ejemplo más extenso de la clase BackgroundWorker.

// 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 void backgroundWorker1_RunWorkerCompleted(Object sender,
    RunWorkerCompletedEventArgs e)
{
    // First, handle the case where an exception was thrown.
    if (e.get_Error() != null) {

        MessageBox.Show(e.get_Error().get_Message());
    }
    else {

        if (e.get_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.set_Text("Cancelled");
        }
        else {

            // Finally, handle the case where the operation 
            // succeeded.
            resultLabel.set_Text(e.get_Result().ToString());
        }
    }

    // Enable the UpDown control.
    this.numericUpDown1.set_Enabled(true);

    // Enable the Start button.
    startAsyncButton.set_Enabled(true);

    // Disable the Cancel button.
    cancelAsyncButton.set_Enabled(false);
} //backgroundWorker1_RunWorkerCompleted


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2016 Microsoft