BackgroundWorker.OnProgressChanged(ProgressChangedEventArgs) Metódus

Definíció

Az eseményt emeli ProgressChanged ki.

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)

Paraméterek

e
ProgressChangedEventArgs

Olyan EventArgs , amely az eseményadatokat tartalmazza.

Példák

Az alábbi példakód bemutatja, hogy a OnProgressChanged metódus hogyan jelenti az aszinkron művelet előrehaladását. Ez a példakód egy nagyobb, az AsyncOperationManager osztályhoz tartozó példa része.

// This method is invoked via the AsyncOperation object,
// so it is guaranteed to be executed on the correct thread.
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.
void ReportProgress(object state)
{
    ProgressChangedEventArgs e =
        state as ProgressChangedEventArgs;

    OnProgressChanged(e);
}

protected void OnCalculatePrimeCompleted(
    CalculatePrimeCompletedEventArgs e) =>
    CalculatePrimeCompleted?.Invoke(this, e);

protected void OnProgressChanged(ProgressChangedEventArgs e) =>
    ProgressChanged?.Invoke(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

Megjegyzések

Az esemény létrehozása meghívja az eseménykezelőt egy meghatalmazotton keresztül. További információ: Események kezelése és emelése.

A OnProgressChanged metódus lehetővé teszi továbbá, hogy a származtatott osztályok meghatalmazott csatolása nélkül kezeljék az eseményt. Ez az előnyben részesített módszer az esemény származtatott osztályban való kezelésére.

Megjegyzések az öröklőkhöz

Származtatott osztályban történő felülbíráláskor OnProgressChanged(ProgressChangedEventArgs) mindenképpen hívja meg az alaposztály metódusát OnProgressChanged(ProgressChangedEventArgs) , hogy a regisztrált meghatalmazottak megkapják az eseményt.

A következőre érvényes:

Lásd még