Làm cách nào để tạo bộ hẹn giờ trong WPF?


78

Tôi là người mới tham gia hẹn giờ trong wpf và tôi cần một mã mà cứ sau 5 phút sẽ có một hộp thông báo bật lên. . có ai có thể giúp tôi cho mã đơn giản của bộ đếm thời gian.

Đó là những gì tôi đã cố gắng cho đến nay:

System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); 
private void test() 
{ 
    dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick); 
    dispatcherTimer.Interval = new TimeSpan(0, 0, 1); 
    dispatcherTimer.Start(); 
} 
private void dispatcherTimer_Tick(object sender, EventArgs e)
{ 
    // code goes here 
} 

private void button1_Click(object sender, RoutedEventArgs e)
{ 
    test(); 
} 

System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer (); private void test () {dispatcherTimer.Tick + = new EventHandler (dispatcherTimer_Tick); dispatcherTimer.Interval = new TimeSpan (0, 0, 1); dispatcherTimer.Start (); } private void dispatcherTimer_Tick (object sender, EventArgs e) {// code dang ky} private void button1_Click (object sender, RoutedEventArgs e) {test (); }
27

7
Chỉnh sửa câu hỏi của bạn thay vì nhận xét nó.
Clemens

Câu trả lời:


168

Trong WPF, bạn sử dụng a DispatcherTimer.

System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0,5,0);
dispatcherTimer.Start();


private void dispatcherTimer_Tick(object sender, EventArgs e)
{
  // code goes here
}

4
Nếu xuất hiện "// mã đi đây", viết "Messagebox.Show (" Thông điệp goes here ");"
Rhys Towey

27

Thêm vào những điều trên. Bạn sử dụng bộ hẹn giờ Dispatch nếu bạn muốn các sự kiện đánh dấu được sắp xếp trở lại chuỗi giao diện người dùng. Nếu không, tôi sẽ sử dụng System.Timers.Timer.


4
+1 để giải thích mức độ liên quan đến chuỗi giao diện người dùng - điều quan trọng cần hiểu khi làm việc với WPF.
JamesHoux
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.