私は時間に変換することができインターバル3600000とタイマーを持っているので、私は開始直後にタイマーを実行しますか?
timer.Start()
を行うときには、それは次の時間から始まる時間ごとに以下のコードを実行されますでしょう
private void timer_Tick(object sender, EventArgs e)
{
.....
}
が、私はそれがまた実行されたい場合、私はタイマーを呼び出します。開始()とその後の1時間ごと?
私は時間に変換することができインターバル3600000とタイマーを持っているので、私は開始直後にタイマーを実行しますか?
timer.Start()
を行うときには、それは次の時間から始まる時間ごとに以下のコードを実行されますでしょう
private void timer_Tick(object sender, EventArgs e)
{
.....
}
が、私はそれがまた実行されたい場合、私はタイマーを呼び出します。開始()とその後の1時間ごと?
最も簡単なオプションは、単にメソッドを呼び出すために、次のようになります。
timer.Start();
timer_Tick(null, EventArgs.Empty); // Simulate a timer tick event
これは実際にタイマーをトリガーするが、効果的に「今」イベントをシミュレートし、すぐにあなたのハンドラを呼び出していません。
Start()を呼び出した直後に、関数を手動で呼び出すだけです。
私が理解しているように、System.Threading.Timer
はあなたが望むものを正確に行います。
最初の呼び出しを実行する必要がある場合と、呼び出しの間隔を指定できます。
したがって、最初の呼び出しを0ミリ秒に設定し、間隔を1時間に設定すると、直ちに起動し、1時間ごとに起動します。
dueTime タイプ:コールバック はミリ秒単位で、呼び出されるまでの時間の可能System.Int32量が遅延します。 タイマーが開始しないようにTimeout.Infiniteを指定してください。タイマーをただちに開始するには、ゼロ(0)を指定します。
period型:System.Int32 コールバックの呼び出し間隔(ミリ秒単位)。 定期的なシグナリングを無効にするには、Timeout.Infiniteを指定します。
1秒間の睡眠のポイントは何ですか? – Servy
修正されました。質問を間違って読んでください。 – iefpw