Comment asynchrone attendre x secondes et d'exécuter quelque chose, alors?

Je sais qu'il est Thread.Le sommeil et System.Windows.Forms.Timer et Moniteur.Attendre en C# et Windows Forms. Je n'arrive pas à être en mesure de comprendre comment attendre X secondes, puis faire autre chose sans verrouiller le fil.

J'ai un formulaire avec un bouton. Sur le bouton cliquez sur une minuterie doit démarrer et attendez 5 secondes. Après ces 5 secondes, un autre contrôle sur le formulaire est de couleur verte. Lors de l'utilisation de Thread.Sleep, l'ensemble de l'application ne répondait plus de 5 secondes - alors, comment dois-je tout simplement "faire quelque chose au bout de 5 secondes"?

Utilisez simplement System.Windows.Forms.Timer. Réglez la minuterie pour 5 secondes, et la poignée de la Tick événement. Lorsque l'événement est déclenché, faire la chose.
Nous sommes ajout d'une nouvelle fonctionnalité de C# 5 que ce genre d'opération asynchrone beaucoup plus facile; si vous êtes intéressés à obtenir un pic, commencer avec ce blog: blogs.msdn.com/b/csharpfaq/archive/2011/04/13/...
Façon d'aller de Microsoft!

OriginalL'auteur Dennis G | 2012-02-02