한번만 동작하는 쓰레드 타이머는 요기에
2016/09/07 - [프로그램 자료/Visual C#] - 한 번만 동작하는 쓰레드 타이머 onetime thread timer
WPF 사용을 시작했다.
타이머를 사용할 일이 생겼고,
당연하게 Winform 에서 쓰던 타이머를 사용했는데,
뭔가 조금씩 다르다.
그냥 정리해 본다.
using System;
using System.Windows;
using System.Windows.Threading;
namespace PlayMartWpf
{
/// <summary>
/// AlertWindow.xaml에 대한 상호 작용 논리
/// </summary>
public partial class AlertWindow : Window
{
public string Message { get; set; }
//타이머 선언
System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
public AlertWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
label.Text = Message;
//타이머에 이벤트 추가 및 인터벌 셋팅
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
dispatcherTimer.Start();
}
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
//타이머 이벤트 실행히 실행될 코드
//아래는 델리게이트 사용법 : 쓰레드 타이머를 사용하였기 때문에 UI Thread와 다른 Thread라서 델리게이트를 사용해야 함
Dispatcher.Invoke(DispatcherPriority.Background, (Action)delegate()
{
this.Close();
});
}
}
}