Silverlight只运行一次DispatchTimer

时间:2012-07-11 18:00:13

标签: c# silverlight silverlight-4.0

我正试图在Silverlight / C#中找到一种让DispatchTimer只运行一次的方法。

我有一个用户表单,在提交时我想显示一条消息10秒然后消失并终止DispatchTimer线程。

我知道如何制作一个重复的DispatchTimer:

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

clock.Start();

但我希望该线程在完成后立即结束。

2 个答案:

答案 0 :(得分:5)

这应该适合你:

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

如果您不想扩大DispatcherTimer对象的范围,匿名事件处理程序也会将事物“保持在同一位置”。

答案 1 :(得分:1)

一旦触发,就在你的clockTick处理程序中停止计时器。