处理计时器的最佳方法?

时间:2011-03-18 15:05:22

标签: c# .net

我想创建类似于反病毒程序在托盘中的方式,并且可以在一个间隔内重新执行事件(例如扫描)。我有一个程序从我们的SQL服务器导出数据,用户设置他们想要导出的队列。

我在考虑使用System.Windows.NotifyIcon http://msdn.microsoft.com/en-us/library/system.windows.forms.notifyicon.aspx

和 System.Timer http://msdn.microsoft.com/en-us/library/system.timers.timer%28v=vs.71%29.aspx

假设用户将其设置为每X小时或“每天”或“每周三5:00”重复。我应该只创建一个托盘图标和

this.Hide();

并设置一个计时器,它根据用户设置的标准来计时并比较计时器启动的时间?或者,这是一种低效且浪费内存的方式吗?有没有办法“安排”事件在某个时间点火并以这种方式处理?

1 个答案:

答案 0 :(得分:4)

您可以使用Windows计划任务。

有一个名为Task Scheduler Managed Wrapper的库,可用于设置c#中的任务。