How to asynchronously wait for x seconds and execute something then?
I know there is Thread.Sleep and System.Windows.Forms.Timer and Monitor.Wait in C# and Windows Forms. I just can't seem to be able to figure out how to wait for X seconds and then do something else - without locking the thread. I have a form with a button. On button click a timer shall start and wait for 5 seconds. After these 5 seconds some other control on the form is colored green. When using Thread.Sleep , the whole application would become unresponsive for 5 seconds - so how do I just "do something after 5 seconds"? eFloh (transcribed from Ben as comment) just use System.Windows.Forms