-1
在C#中,我想在進入頁面時設置一個計時器,然後開始十秒倒計時。如何在C#中設置計時器?
如果用戶在10秒內未完成操作,則觸發定時器,提示「遊戲結束」。
如果用戶在十秒內完成了操作,則定時器設備被取消。
我該怎麼做?
在C#中,我想在進入頁面時設置一個計時器,然後開始十秒倒計時。如何在C#中設置計時器?
如果用戶在10秒內未完成操作,則觸發定時器,提示「遊戲結束」。
如果用戶在十秒內完成了操作,則定時器設備被取消。
我該怎麼做?
使用DispatcherTimer
類。 tick
事件處理程序應該有說明遊戲結束的代碼。
DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += dispatcherTimer_Tick;
dispatcherTimer.Interval = new TimeSpan(0,0,10);
dispatcherTimer.Start();
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
((DispatcherTimer)sender).Stop();
//Your code here
}
每當用戶剛剛完成他的操作,你可以叫dispatcherTimer.Stop();
。這會停止計時器。
請注意,'DispatcherTimer'在這裏比較好用,因爲它會自動將定時器事件保留在UI線程中可能需要的地方(很難從含糊不清的問題中知道)。但值得一提的是,在這種情況下,除了線程相關性問題外,還需要一個「一次性」定時器,['System.Threading.Timer'](http://msdn.microsoft .com/en-us/library/2x96zfy7(v = vs.110).aspx)class直接提供該行爲,而不需要在引發第一個事件/回調之後停止定時器。 – 2014-12-02 06:02:40
謝謝,它的工作原理。但是「EventArgs e」必須更改爲「對象e」 – 2014-12-02 09:12:14
我可以剩下時間嗎?我想顯示剩餘時間,準確度爲0.1秒 – 2014-12-02 10:37:00