2012-09-05 2 views
1

내 응용 프로그램에 타이머를 구현하고 싶습니다. 내 목표는 x 초/분마다 일부 기능을 실행할 수있는 쉬운 방법을 제공하여 1 초, 5 초 및 15 초 타이머를 구현하는 방법을 생각했습니다. 내가 1 초마다 업데이트하고 싶은 첫 번째 것은 내장 된 시계 (C#에 다른 솔루션이 있는지 모릅니다.이 방법을 C++에서 사용했습니다) xx 초마다 실행되어야하는 동기화 기능 등.정기 이벤트 용 타이머를 구현하는 방법은 무엇입니까?

내 주제는이 주제에 대한 유용한 자습서가 있습니까? 내 응용 프로그램 중 하나에 타이머 시스템을 구현하려는 것은 이번이 처음이며, 염두에 두어야 할 사항이 있는지 알지 못합니다.

는 대답 :

+1

http://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.100).aspx –

답변

4

가 사용할 수있는 타이머 클래스의 다양한 종류가 있습니다 미리 감사드립니다.

WPF에서 관련 사용자 인터페이스를 업데이트하는 경우 일반적으로 DispatcherTimer을 사용합니다.

System.Timers.Timer10 또는 System.Threading.Timer을 사용할 수도 있지만 주 사용자 인터페이스 스레드가 아닌 백그라운드 스레드에서만 실행됩니다. 이것은 종종 유익합니다 (Timer의 Tick 이벤트 또는 콜백에서 "작업"이 발생하는 경우 UI를 기다리거나 차단하지 않음). 그러나 UI 스레드와 관련된 사용자 인터페이스를 마샬링해야합니다.

1
// This timer runs on UI thread 
    System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer(); 
    timer.Interval = System.TimeSpan.FromSeconds(1); 
    timer.Tick += timer_Tick; 
    timer.Start(); 

    void timer_Tick(object sender, System.EventArgs e) 
    { 
     Title = System.Windows.Input.Keyboard.FocusedElement.GetType().ToString(); 
    } 
관련 문제