2017-07-04 72 views
-2

我創建了一個調度員計時器一分鐘間隔後,呼叫事件每隔一分鐘間隔

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 1分鐘間隔內創建的事件就會調用事件。

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

不過,我的問題是,當我點擊開始按鈕,它進入事件(dispatcherTimer_Tick)60秒它需要去該事件後,每1分鐘間隔後,它會調用該事件它的正常工作。最初當我點擊開始按鈕時,它突然調用該事件,但我想在012秒後(即1分鐘後)需要調用dispatcherTimer_Tick事件後的

+0

與您的錯誤無關,您也不需要在事件處理程序中檢查dispatcherTimer.Interval的值。 –

回答

2

您的問題是你的代碼做:代替

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

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

調用Start()之前設置dispatcherTimer.Interval