Как асинхронно подождать х секунд и выполнить что-то потом?
Я знаю, что естьThread.Sleep
а такжеSystem.Windows.Forms.Timer
а такжеMonitor.Wait
в C # и Windows Forms. Я просто не могу понять, как ждать X секунд, а затем делать что-то еще - без блокировки потока.
У меня есть форма с кнопкой. При нажатии кнопки таймер должен запуститься и подождать 5 секунд. После этих 5 секунд другой элемент управления в форме окрашивается в зеленый цвет. Когда используешьThread.Sleep
, все приложение перестало бы отвечать на запросы в течение 5 секунд - так как же мне просто «сделать что-то через 5 секунд»?