BackgroundWorker.OnProgressChanged(ProgressChangedEventArgs) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Genererar händelsen ProgressChanged .
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)
Parametrar
En EventArgs som innehåller händelsedata.
Exempel
Följande kodexempel visar hur metoden används OnProgressChanged för att rapportera förloppet för en asynkron åtgärd. Det här kodexemplet är en del av ett större exempel för AsyncOperationManager klassen.
// 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
Kommentarer
När du skapar en händelse anropas händelsehanteraren via ett ombud. Mer information finns i Hantera och höja händelser.
Metoden OnProgressChanged gör det också möjligt för härledda klasser att hantera händelsen utan att koppla ett ombud. Det här är den bästa tekniken för att hantera händelsen i en härledd klass.
Anteckningar till arvingar
När du OnProgressChanged(ProgressChangedEventArgs) åsidosätter i en härledd klass måste du anropa basklassens OnProgressChanged(ProgressChangedEventArgs) metod så att registrerade ombud tar emot händelsen.