Winforms ProgressBar Leva tempo para renderizar
Percebi isso ao usar o PorgressBar. Se eu definir o valor como x, o valor exibido não será atualizado imediatamente, levará uma pequena quantidade de tempo para desenhá-lo, pois a barra é animada do seu valor atual para o novo valo
Isso é fácil de ver no código a seguir:
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
Você notará que executando este código que oValue Now at 100%
aparece muito tempo antes da barra atingir 100%.
Existe alguma maneira de detectar quando a barra terminou de renderiza