BackgroundWorker.OnProgressChanged(ProgressChangedEventArgs) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Eleva o ProgressChanged evento.
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 EventArgs que contém os dados do evento.
Exemplos
O seguinte exemplo de código demonstra a utilização do OnProgressChanged método para reportar o progresso de uma operação assíncrona. Este exemplo de código faz parte de um exemplo maior fornecido para a AsyncOperationManager classe.
// 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
Observações
Levantar um evento invoca o gestor de eventos através de um delegado. Para mais informações, consulte Manuseio e Levantamento de Eventos.
O OnProgressChanged método também permite que classes derivadas tratem do evento sem anexar um delegado. Esta é a técnica preferida para lidar com o evento numa classe derivada.
Notas para Herdeiros
Ao substituir OnProgressChanged(ProgressChangedEventArgs) uma classe derivada, certifique-se de chamar o método da OnProgressChanged(ProgressChangedEventArgs) classe base para que os delegados registados recebam o evento.