Winforms ProgressBar toma tiempo para renderizar

He notado eso cuando uso el PorgressBar. Si configuro el valor en x, el valor que se muestra no se actualiza de inmediato, toma un poco de tiempo dibujarlo, ya que la barra se anima desde su valor actual hasta el nuevo valor.

Esto es fácil de ver en el siguiente código:

Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Label1.Text = ""
    Dim progressHandler = New Progress(Of Integer)(Sub(value) ProgressBar1.Value = value)
    Dim progress = CType(progressHandler, IProgress(Of Integer))
    Await Task.Run(Sub()
                       For i = 1 To 100
                           progress.Report(i)
                           Thread.Sleep(10)
                       Next
                   End Sub)
    Label1.Text = "Value Now at 100%"
    Await Task.Delay(650) 'it takes this long for the bar to be rendered
    Label1.Text += " - Finished drawing"
End Sub

otará que ejecuta este código que elValue Now at 100% aparece mucho tiempo antes de que la barra haya alcanzado el 100%.

¿Hay alguna forma de detectar cuándo la barra ha terminado de renderizarse?

Respuestas a la pregunta(7)

Su respuesta a la pregunta