2014-02-05 36 views
0

我想在一個按鈕上單擊更新一個異步計時器。如何異步增加定時器?

說,比如我設置的時間=60秒

,當我運行過一段時間的計時器已經達到45秒的節目,當我按一下按鈕,就應該J =增加15秒時間和計時器應該異步變爲60秒。請幫助

private int time = 60; 
    DateTime dt = new DateTime(); 
    private j = 15 ; 
    private DispatcherTimer timer; 

    public MainWindow() 
    { 
     InitializeComponent(); 
     timer = new DispatcherTimer(); 
     timer.Interval = new TimeSpan(0, 0, 1); 
     timer.Tick += timer_tick; 
     timer.Start(); 
     } 

    void timer_tick(object sender, EventArgs e) 
    { 
     if (time >0) 
     { 
      time--; 
      text.Text = TimeSpan.FromSeconds(time).ToString(); 
     } 
     else 
     { 
      timer.Stop(); 
     } 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     text.Text = dt.AddSeconds(j).ToString("HH:mm:ss"); 
    } 
+0

如何只添加這些15秒的'time'領域,像'時間+ = 15;'或'時間+ = j的;'單擊處理程序? – Clemens

回答

1

這是我的代碼,你可以嘗試它的工作。

private int time = 60; 
    DateTime dt = new DateTime(); 
    private int j = 15; 
    private Timer timer1 = new Timer(); 


    void timer_tick(object sender, EventArgs e) 
    { 
     if (time > 0) 
     { 
      time--; 
      text.Text = TimeSpan.FromSeconds(time).ToString(); 
     } 
     else 
     { 
      timer1.Stop(); 
     } 
    } 

    public timer() 
    { 
     InitializeComponent(); 
     timer1 = new Timer(); 
     timer1.Interval = 1000; 
     timer1.Tick += timer_tick; 
     timer1.Start(); 
    } 



    private void button1_Click(object sender, EventArgs e) 
    { 
     time += j; 
    } 
+0

它像魅力一樣工作:) thankz mahn :) – Antisan