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

Call event in dispatchtimer after every one minute interval

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

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);
}

当按钮单击计时器启动并且我在 it.Every 一分钟间隔内创建事件时,它将调用该事件。

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