web-dev-qa-db-ja.com

2秒または3秒の遅延を追加する方法

C#でプログラムに遅延を追加する方法

106
Mulder

Thread.Sleep()関数を使うことができます。

int milliseconds = 2000;
Thread.Sleep(milliseconds);

現在のスレッドの実行を2秒間停止します。

とにかく、それはあなたのニーズを満たすことができませんでした...あなたがまさに何を達成しようとしていますか?

148
digEmAll

間隔を2〜3秒に設定したタイマーを使用してください。

どのタイプのアプリケーションを作成しているかに応じて、3つの選択肢があります。

  1. System.Timers.Timer
  2. System.Windows.Forms.Timer
  3. System.Threading.Timer

Thread.Sleep を使用しないでください。スレッドが完全にロックされ、他のメッセージを処理できなくなります。シングルスレッドアプリケーションを想定すると(ほとんどの場合そうですが)、意図したとおりに一時停止するのではなく、アプリケーション全体が応答しなくなります。

44
Cody Gray

2.3秒の間あなたがするべきです:

System.Threading.Thread.Sleep(2300);
36
Mitja Bonca
System.Threading.Thread.Sleep(
    (int)System.TimeSpan.FromSeconds(3).TotalMilliseconds);

あるいはusingステートメントを使って:

Thread.Sleep((int)TimeSpan.FromSeconds(2).TotalMilliseconds);

私はこれを1000 * numSeconds(または単に3000)よりも好みます。これは、Thread.Sleepを使用したことのない人に何が起こっているのかをより明確にするためです。それはあなたの意図をより良く文書化します。