0

私はSilverlight/C#でDispatchTimerを1回だけ実行する方法を見つけようとしています。

ユーザーフォームがあり、送信時にメッセージを10秒間表示してから消えて、DispatchTimerスレッドを強制終了します。

私は繰り返すDispatchTimerを作成する方法を知っています:

clock.Interval = TimeSpan.FromSeconds(10);
clock.Tick += clockTick;

clock.Start();

しかし、私はそのスレッドが完了するとすぐに終了することを望んでいます。

4

2 に答える 2

5

これはあなたのために働くはずです:

DispatcherTimer clock = new DispatcherTimer();
clock.Interval = TimeSpan.FromSeconds(10);
clock.Tick += (object sender, EventArgs e) =>
{
    clock.Stop();
    // Some code here
};
clock.Start();

DispatcherTimerオブジェクトの範囲を広げたくない場合に備えて、匿名のイベントハンドラーも物事を「同じ場所」に保持します。

于 2012-07-11T18:05:54.417 に答える
1

clockTickハンドラーが起動したら、タイマーを停止します。

于 2012-07-11T18:05:43.800 に答える