每隔一分钟间隔在调度计时器中调用事件



我创建了一个间隔为一分钟的调度程序计时器,

DispatcherTimer dispatcherTimer = new DispatcherTimer();//creation of dispatchtimer
private void btnstart_Click(object sender, RoutedEventArgs e)
{
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Start();
dispatcherTimer.Interval = TimeSpan.FromMinutes(1);
}

当按钮单击计时器启动时,我在其中创建了事件。每隔一分钟,它将调用该事件。

private void dispatcherTimer_Tick(object sender, EventArgs e)
{
if (dispatcherTimer.Interval == TimeSpan.FromMinutes(1))
{
//...
//...
}
}

但是,我的问题是当我单击开始按钮时,它会在 60 秒后转到事件 (dispatcherTimer_Tick(,它需要转到该事件,并且每隔 1 分钟间隔后它会调用该事件它工作正常。最初,当我单击开始按钮时,它会突然调用该事件,但我希望在 60 秒后(即 1 分钟后(需要调用该dispatcherTimer_Tick事件。

你的问题是你的代码在做:

//...
dispatcherTimer.Start();
dispatcherTimer.Interval = TimeSpan.FromMinutes(1);
//...

而不是:

//...
dispatcherTimer.Interval = TimeSpan.FromMinutes(1);
dispatcherTimer.Start();
//...  

在调用Start()之前设置dispatcherTimer.Interval

最新更新