Comment puis-je déclencher une méthode pour exécuter après x secondes?

Je suis en train de travailler sur un C# Windows Forms application où j'ai besoin de la méthode de la pause de 30 secondes jusqu'à ce qu'il continue sur la ligne suivante de code. J'ai essayé Thread.Sleep() qui n'était pas adapté pour cette application et j'ai compris que je doit utiliser une sorte de minuterie à la place. J'ai beaucoup cherché mais je n'arrive pas à comprendre comment mettre en œuvre des chronomètres.

Mon code est ci-dessous et quelqu'un pourrait-il me montrer comment je doit mettre en œuvre la minuterie. J'ai fait un commentaire sur l'endroit où je veux que la méthode pour faire une pause.

private void start_Vid_Click(object sender, EventArgs e)
{
    if (video.State != StateFlags.Running)
    {
        viewport.Visible = true;
        video.Play();
    }

    //Here I want to wait 30 seconds until the next line of code is triggered

    viewport.Visible = false;
    viewport2.Visible = true;
    pictureBox1.Visible = true;
    start_Webc(); 
    video2.Play();
}
Créer un System.Windows.Forms.Timer.
Pourquoi Thread.Le sommeil n'est pas adapté pour cette application?
Fil de discussion.Le sommeil est rarement approprié, sauf si vous explicitement sur votre propre thread. Dans ce cas, il pourrait bloquer l'INTERFACE utilisateur complètement, le rendu de l'interface inutile et l'interruption de la vidéo.

OriginalL'auteur user1881847 | 2012-12-06