2

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

例如我有这个时间:

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

我如何订阅在这些时间引发的事件?

4

4 回答 4

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;
于 2012-07-02T15:08:46.210 回答
0

使用 System.Timers.Timer

可以在MSDN上找到有关这方面的详细信息。

当事件结束时,引发事件并重新编程计时器以再次为您的下一个事件关闭。

于 2012-07-02T15:46:23.477 回答
0

试试石英网
它可以在指定的时间内运行您需要的任何东西,其中之一是触发事件。

于 2012-07-02T15:15:16.290 回答
0

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

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

最后,当你认为你已经足够接近时,你就去做你当时需要做的任务。

于 2012-07-02T15:10:41.670 回答