我正在开发一个Web应用程序。在这个应用程序中,我想在12分钟后暂停计时器滴答。我怎么能这样做?或者我可以在哪里指定时间以便计时器滴答暂停?
答案 0 :(得分:0)
您可以使用回调中的状态对象来获取计时器实例。
然后,如果要停止计时器,则可以在回调内部进行检查。
您可以简单地计算滴答数并计算每个滴答中的经过时间:
...
// Start the timer
// you have to use this constructor if you want to
// access the timer itself inside callback
var timer = new Timer(Callback);
timer.Change(100, period);
}
// Set desired period
private static int period = 100;
// Track elapsed time
private static int elapsed;
private static void Callback(object state)
{
// update elapsed time
ellapsed += period;
// check if ellapsed is greater than 12min
bool isElapsed = ellapsed >= 12 * 60 * 1000;
if (!isElapsed) return;
var timer = state as Timer;
if ( timer != null)
timer.Change(Timeout.Infinite, Timeout.Infinite);
}