我正试图在Silverlight / C#中找到一种让DispatchTimer只运行一次的方法。
我有一个用户表单,在提交时我想显示一条消息10秒然后消失并终止DispatchTimer线程。
我知道如何制作一个重复的DispatchTimer:
clock.Interval = TimeSpan.FromSeconds(10);
clock.Tick += clockTick;
clock.Start();
但我希望该线程在完成后立即结束。
答案 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处理程序中停止计时器。