C# WPF 定时器

您所在的位置:网站首页 红绿灯的倒计时器是计时工具吗 C# WPF 定时器

C# WPF 定时器

2023-09-07 13:10| 来源: 网络整理| 查看: 265

先说明一下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