Как асинхронно подождать х секунд и выполнить что-то потом?

Я знаю, что естьThread.Sleep а такжеSystem.Windows.Forms.Timer а такжеMonitor.Wait в C # и Windows Forms. Я просто не могу понять, как ждать X секунд, а затем делать что-то еще - без блокировки потока.

У меня есть форма с кнопкой. При нажатии кнопки таймер должен запуститься и подождать 5 секунд. После этих 5 секунд другой элемент управления в форме окрашивается в зеленый цвет. Когда используешьThread.Sleep, все приложение перестало бы отвечать на запросы в течение 5 секунд - так как же мне просто «сделать что-то через 5 секунд»?

Ответы на вопрос(7)

Ваш ответ на вопрос