あなたは与えられた時間の後に、それを無効にするために第2の1を起動したときに第3のタイマを開始することを検討してください。
Timer t1 = new Timer(1000); // fire every second
Timer t2 = new Timer(60000); // fire after 10 minutes
t2.Elapsed += (o, e) => t1.Stop(); // disable timer 1 when timer 2 is elapsed
t1.Start();
t2.Start();
上記の例では、方法によってでSystem.Timers.Timerを利用します。あなたはSystem.Threading.Timerを使用している場合には、驚くべきことにでSystem.Timers.Timerのためにそこにもスイッチを検討するかもしれない本質的にスレッドセーフなものである。ここで、System.Threading.Timerではありません。
かなり良い概要はここで見つけることができます:明確にするため http://msdn.microsoft.com/en-us/magazine/cc164015.aspx
EDIT: ライン
t2.Elapsed += (e, o) => t1.Stop();
も
続い
t2.Elapsed += new ElapsedEventHandler(t2_Elapsed);
のように書くことができ
void t2_Elapsed(object sender, ElapsedEventArgs e)
{
t1.Stop();
}
Visual StudioでCtrl + Spaceキーを押したときに実際に得られるものです。下のメソッドではt1にアクセスできます。 ...
成功した場合
3行目の構文を噛むことができますか?私はそれがどのように機能するのか分かりません。 –
私は上記の説明を挿入しました... - コメントのコードはちょっと面倒です... – ChriPf