在指定时间内举起活动

时间:2012-07-02 15:03:47

标签: c# .net timer schedule

有人可以给我一个代码,如何在指定时间过后提高事件。

例如我有这样的时间:

08:00 12:00 20:30 23:00

我如何订阅这些时间筹集的活动?

4 个答案:

答案 0 :(得分:3)

尝试以下方法:

DateTime target = ...
int interval = (int)(target - DateTime.Now).TotalMilliseconds;
var timer = new System.Timers.Timer(interval);
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Enabled = true;

答案 1 :(得分:0)

我用于应用程序的方法是制作一个每隔几分钟触发一次的计时器。当它接近目标时间(例如当前时间+间隔>目标时间)时,间隔变小。

对于那个特定的应用程序,精确的精度并不重要,所以我没有让间隔小于500毫秒。

最后,当你认为自己足够接近时,就可以完成当时所需的任务。

答案 2 :(得分:0)

试试Quartz.Net 它可以在指定的时间内运行您需要的任何内容,其中一个是触发事件。

答案 3 :(得分:0)

使用System.Timers.Timer

有关详细信息,请访问MSDN

当事件发生时,提升事件并重新设定计时器以再次关闭以进行下一次事件。