BackgroundWorker.OnProgressChanged(ProgressChangedEventArgs) Método

Definición

Genera el evento ProgressChanged.Raises the ProgressChanged event.

protected:
 virtual void OnProgressChanged(System::ComponentModel::ProgressChangedEventArgs ^ e);
protected virtual void OnProgressChanged (System.ComponentModel.ProgressChangedEventArgs e);
abstract member OnProgressChanged : System.ComponentModel.ProgressChangedEventArgs -> unit
override this.OnProgressChanged : System.ComponentModel.ProgressChangedEventArgs -> unit
Protected Overridable Sub OnProgressChanged (e As ProgressChangedEventArgs)

Parámetros

e
ProgressChangedEventArgs

Objeto EventArgs que contiene los datos del evento.An EventArgs that contains the event data.

Ejemplos

En el ejemplo de código siguiente se muestra el uso del método OnProgressChanged para informar del progreso de una operación asincrónica.The following code example demonstrates the use of the OnProgressChanged method to report the progress of an asynchronous operation. Este ejemplo de código forma parte de un ejemplo más extenso proporcionado para la clase AsyncOperationManager.This code example is part of a larger example provided for the AsyncOperationManager class.

// This method is invoked via the AsyncOperation object,
// so it is guaranteed to be executed on the correct thread.
private void CalculateCompleted(object operationState)
{
    CalculatePrimeCompletedEventArgs e =
        operationState as CalculatePrimeCompletedEventArgs;

    OnCalculatePrimeCompleted(e);
}

// This method is invoked via the AsyncOperation object,
// so it is guaranteed to be executed on the correct thread.
private void ReportProgress(object state)
{
    ProgressChangedEventArgs e =
        state as ProgressChangedEventArgs;

    OnProgressChanged(e);
}

protected void OnCalculatePrimeCompleted(
    CalculatePrimeCompletedEventArgs e)
{
    if (CalculatePrimeCompleted != null)
    {
        CalculatePrimeCompleted(this, e);
    }
}

protected void OnProgressChanged(ProgressChangedEventArgs e)
{
    if (ProgressChanged != null)
    {
        ProgressChanged(e);
    }
}
' This method is invoked via the AsyncOperation object,
' so it is guaranteed to be executed on the correct thread.
Private Sub CalculateCompleted(ByVal operationState As Object)
    Dim e As CalculatePrimeCompletedEventArgs = operationState

    OnCalculatePrimeCompleted(e)

End Sub


' This method is invoked via the AsyncOperation object,
' so it is guaranteed to be executed on the correct thread.
Private Sub ReportProgress(ByVal state As Object)
    Dim e As ProgressChangedEventArgs = state

    OnProgressChanged(e)

End Sub

Protected Sub OnCalculatePrimeCompleted( _
    ByVal e As CalculatePrimeCompletedEventArgs)

    RaiseEvent CalculatePrimeCompleted(Me, e)

End Sub


Protected Sub OnProgressChanged( _
    ByVal e As ProgressChangedEventArgs)

    RaiseEvent ProgressChanged(e)

End Sub

Comentarios

Cuando se genera un evento, se invoca el controlador de eventos a través de un delegado.Raising an event invokes the event handler through a delegate. Para obtener más información, consulte controlar y provocar eventos.For more information, see Handling and Raising Events.

El método OnProgressChanged también permite que las clases derivadas controlen el evento sin adjuntar ningún delegado.The OnProgressChanged method also allows derived classes to handle the event without attaching a delegate. Ésta es la técnica preferida para controlar el evento en una clase derivada.This is the preferred technique for handling the event in a derived class.

Notas a los desarrolladores de herederos

Al reemplazar OnProgressChanged(ProgressChangedEventArgs) en una clase derivada, asegúrese de llamar al método OnProgressChanged(ProgressChangedEventArgs) de la clase base para que los delegados registrados reciban el evento.When overriding OnProgressChanged(ProgressChangedEventArgs) in a derived class, be sure to call the base class's OnProgressChanged(ProgressChangedEventArgs) method so that registered delegates receive the event.

Se aplica a

Consulte también: