Sleep () is executed in the wrong order.
1 answer
The dream is happening in the right place, the problem is that you are missing the 4th step. What's really going on?
label1.Text = "Start";
Thread.Sleep(2000);
label1.Text = "Finish";
DrawUpdatedValuesOfLabel1OnTheUI();
The UI is not updated until execution returns to the message loop, you need to return control to the message loop while you wait two seconds to get the updated interface.
If you are using .NET 4.5, the easiest way to do this is to change Sleep
to using async / await
public async Task YourFunction()
{
label1.Text = "Start";
await Task.Delay(2000);
label1.Text = "Finish";
}
If you are not using .NET 4.5, the problem is much more difficult to solve.
+8
source to share