有人可以给我一个代码,如何在指定时间过后引发事件。
例如我有这个时间:
08:00 12:00 20:30 23:00
我如何订阅在这些时间引发的事件?
尝试以下方法:
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;
试试石英网。
它可以在指定的时间内运行您需要的任何东西,其中之一是触发事件。
我用于应用程序的方法是制作一个每隔几分钟触发一次的计时器。当它越来越接近目标时间(例如当前时间+间隔>目标时间)时,间隔变小。
对于那个特定的应用程序,精确的精度并不那么重要,所以我没有让间隔小于 500 毫秒。
最后,当你认为你已经足够接近时,你就去做你当时需要做的任务。