C# DispatcherTimer 在WPF 中如何使用Timer

我最近開始研究WPF,使用WPFWindows Presentation Foundation)好處是讓開發者能夠更方便設計介面,例如在按鈕上,他甚至可以利用類似HTML語法編纂MouseDown事件。關於WPF的程式語言,支援C#VB等,而UI的設計方法,基本上使用XAML語法,若對於CSS、HTML概略熟悉,基本上學習並無困難!

這次要教各位的,是如何在WPF中使用DispatcherTimer來達成Timer的效果。

以下是一個實例。作用是,按下BUTTON,上面的LABEL會從0開始以每秒為單位+1。

未命名 未命名

但是,WPF居然沒有我們在Form之中常看見的Timer元件,那怎麼辦?所以我們就必須要使用DispatcherTimer,而其功能與Timer相似…

首先你必須在using中加入:

using System.Windows.Threading;
 

接著宣告新的DispatcherTimer物件,其Name屬性為:TimerX

DispatcherTimer TimerX = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(1) };
int sec = 0;
 
 

其中Interval是要指定時間間隔多久,我們這邊設定他為一秒,然而,請在新增一個全域變數「sec」,並將其值設為0。

第二步,拖出label和button元件,請記得為這兩個元件命名,並新增button元件的Click事件,結果如下:

private void Button_Click(object sender, RoutedEventArgs e)
{
TimerX.Tick += TimerX_Tick;
TimerX.Start();
}
 
 

TimerX_Tick 是我們稍後要新增的事件,其功用為,以TimerX設定的時間間隔執行一次程式碼,寫法如下:

void TimerX_Tick(object sender, EventArgs e)
{
sec++;
label1.Content = sec.ToString();
}
 
 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *