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

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

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

20
задан Dennis G 2 February 2012 в 12:27
поделиться