C# WPF 定时器 |
您所在的位置:网站首页 › 红绿灯的倒计时器是计时工具吗 › C# WPF 定时器 |
先说明一下WPF界面是没有timer控件的 第一种:DispatcherTimer定时器,可以说是专门为WPF界面设计的定时器。因为这个定时器是和UI都在同一线程上的。 第二种: System.Timers.Timer定时器,这种定时器是和UI非同一个线程。 C#有两种定时器,如果是写WPF上位机的话,自然是要用和UI同一个线程的定时器,不然要考虑跨线程的问题。 参考:WPF常见的两种定时器 WPF中DispatcherTimer定时器的原理 代码如下: public partial class MainWindow : Window { private DispatcherTimer mDataTimer = null; //定时器 private long timerExeCount = 0; //定时器执行次数 public MainWindow() { InitializeComponent(); InitTimer(); StartTimer(); } private void InitTimer() { if (mDataTimer == null) { mDataTimer = new DispatcherTimer(); mDataTimer.Tick += new EventHandler(DataTimer_Tick); mDataTimer.Interval = TimeSpan.FromSeconds(0.5); } } private void DataTimer_Tick(object sender, EventArgs e) { s2 = DateTime.Now; s1 = DateTime.Now; ++timerExeCount; DisplayTextBox.Text = "USB Connect... " + timerExeCount; } DateTime s1; DateTime s2; public void StartTimer() { if (mDataTimer != null && mDataTimer.IsEnabled == false) { mDataTimer.Start(); s1 = DateTime.Now; } } public void StopTimer() { if (mDataTimer != null && mDataTimer.IsEnabled == true) { mDataTimer.Stop(); } } } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |