我创建了一个间隔一分钟的调度程序计时器,
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事件。
答案 0 :(得分:2)
您的问题是您的代码正在执行:
//...
dispatcherTimer.Start();
dispatcherTimer.Interval = TimeSpan.FromMinutes(1);
//...
而不是:
//...
dispatcherTimer.Interval = TimeSpan.FromMinutes(1);
dispatcherTimer.Start();
//...
在致电dispatcherTimer.Interval
之前设置Start()
。