残りの時間を表示している間に、指定した時間待機するにはどうすればよいですか?while句の条件は、どの時間間隔でチェックされていますか?
私は今、このようにそれを解決したが、これはそれを行うには本当に悪い方法であるような気がします:
//This is running in a BackgroundWorker:
Stopwatch watch = new Stopwatch();
watch.Start();
while(watch.ElapsedMilliseconds != SecondsToWait * 1000)
{
TimeToNextRefresh = ((SecondsToWait * 1000) - watch.ElapsedMilliseconds)/1000;
Thread.Sleep(1);
}
watch.Stop();
だからここに私は条件(watch.ElapsedMilliseconds != SecondsToWait * 1000
)はミリ秒ごとにチェックされていることを推測しています。
したがって、主な質問は次のとおりです。チェックされている間の条件は何時ですか?また、私が書いたコードをどのように改善しますか?
は、Timerオブジェクトを使用します。このようなホットループを書くことは決して良い考えではありません。 'Thread.Sleep'は問題を解決しません。 –
@CodyGray例を挙げてください。実行を一時停止したいだけです...タイマーでこれをどうやって行えますか? –
実行を「一時停止」したいのはなぜですか?なぜそれが役に立つのでしょうか? –