当前位置:  开发笔记 > 后端 > 正文

WPF .NET每分钟触发事件的最佳方式

如何解决《WPF.NET每分钟触发事件的最佳方式》经验,为你挑选了2个好方法。

我有一个应用程序需要每分钟检查一次数据库表.该表按时间索引,因此应用程序需要每分钟运行此检查.

这样做最好的方法是什么?我可以创建一个后台工作线程,但是如果我在每次检查后将其设置为休眠60秒,那么由于调用支票的开销,我最终会错过一分钟.

我记得我检查然后检查的那一刻,每隔15秒说一次,如果分钟已经改变,则进行检查.

或者我应该使用其他方法吗?

我正在使用WPF,VS2008和VB.NET

TIA,

西蒙



1> MrTelly..:

该DispatchTimer是你追求的-只需设置所需的间隔,然后附加一个方法Tick事件-工作的享受.



2> Ray Booysen..:

正如MrTelly所说,DispatcherTimer就是这样做的方法.它与Dispatcher队列紧密集成,并确保您的回调在正确的线程上.以下是关于这门课的一些好文章.下面的一些示例代码详细介绍了一个基本示例:

//  DispatcherTimer setup
DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,0,1);
dispatcherTimer.Start();

private void dispatcherTimer_Tick(object sender, EventArgs e)
{
    // Updating the Label which displays the current second
    lblSeconds.Content = DateTime.Now.Second;

    // Forcing the CommandManager to raise the RequerySuggested event
    CommandManager.InvalidateRequerySuggested();
}

Timer与DispatcherTimer

MSDN文档

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有