我试图在 Silverlight / C# 中找到一种方法来使 DispatchTimer 只运行一次。
我有一个用户表单,提交后我想显示一条消息 10 秒,然后消失并终止 DispatchTimer 线程。
我知道如何制作一个重复的 DispatchTimer:
clock.Interval = TimeSpan.FromSeconds(10);
clock.Tick += clockTick;
clock.Start();
但我希望该线程在完成后立即结束。
我试图在 Silverlight / C# 中找到一种方法来使 DispatchTimer 只运行一次。
我有一个用户表单,提交后我想显示一条消息 10 秒,然后消失并终止 DispatchTimer 线程。
我知道如何制作一个重复的 DispatchTimer:
clock.Interval = TimeSpan.FromSeconds(10);
clock.Tick += clockTick;
clock.Start();
但我希望该线程在完成后立即结束。
这应该适合你:
DispatcherTimer clock = new DispatcherTimer();
clock.Interval = TimeSpan.FromSeconds(10);
clock.Tick += (object sender, EventArgs e) =>
{
clock.Stop();
// Some code here
};
clock.Start();
如果您不想扩大 DispatcherTimer 对象的范围,匿名事件处理程序也会将事物保持在“同一个地方”。
触发后,停止clockTick 处理程序中的计时器。