wpf中应该使用c#四种定时器中的DispatcherTimer
2024-10-19 04:32:27
c#中有四种定时器
1:System.Threading.Timer
使用:
private System.Threading.Timer timerClose;
timerClose = new System.Threading.Timer(new TimerCallback(timerCall), this, 5000, 0);
private void timerCall(object obj)
{
timerClose.Dispose();
this.Close();
}
2:System.Timers.Timer
使用:
System.Timers.Timer t = new System.Timers.Timer(10000);
//实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout);
//到达时间的时候执行事件;
t.AutoReset = true;
//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;
//需要调用 timer.Start()或者timer.Enabled = true来启动它, timer.Start()的内部原理还是设置timer.Enabled = true;
public void theout(object source, System.Timers.ElapsedEventArgs e)
{
}
3:System.Windows.Forms.Timer(Windows Forms Timer)
使用:
System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
myTimer.Tick += new EventHandler(timer1_Tick);
myTimer.Enabled = true;
myTimer.Interval = 1000;
myTimer.Start();
private void timer1_Tick(object sender, EventArgs e)
{
}
4:System.Windows.Threading.DispatcherTimer(WPF timer);
使用:
private static System.Windows.Threading.DispatcherTimer readDataTimer = new System.Windows.Threading.DispatcherTimer();
readDataTimer.Tick += new EventHandler(timeCycle);
readDataTimer.Interval = new TimeSpan(0, 0, 0, 1);
readDataTimer.Start();
public static void timeCycle(object sender, EventArgs e)
{
}
需要注意的是在wpf中涉及到界面操作的话,一定要使用第四种定时器DispatcherTime,DispatcherTimer是为wpf专门设计的,不然的话会提示界面资源被其他线程所拥有而无法更新界面。
---------------------
来源:CSDN
原文:https://blog.csdn.net/aiyongyyy/article/details/51670840
版权声明:本文为博主原创文章,转载请附上博文链接!
最新文章
- 001.Getting Started -- 【入门指南】
- centos安装mongodb 3.2.9
- https://my.oschina.net/reesechou/blog/492265
- html5的改进与沿革
- Spring Autowire自动装配介绍
- 获得设备型号(含iPhone6 , iPhone 6+)
- PTA - - 06-图1 列出连通集 (25分)
- delphi NativeXml的中文支持 乱码
- 在Ubuntu中安装Redis
- 漫话Unity3D(一)
- Qt 设置对话框背景(使用调色板,设置它的画刷,画刷可以是图片)
- 使用jquery实现放大镜效果
- 开涛spring3(4.3) - 资源 之 4.3 访问Resource
- Win10命令大全通用(Win8,Win7)
- 使用Vue快速开发单页应用
- mongos-sharding连接池配置
- May 30. 2018 Week 22nd Wednesday
- SpringMvc CharacterEncodingFilter 解析 encoding 参数并初始化参数
- Ubuntu14.04 编译 Android 5.1.1源码(采用国内镜像)
- sitecore系统教程之架构概述
热门文章
- 设置oracle主键自增长
- .net程序中http请求的超时配置
- Day 6 编码的进阶
- 《Python黑帽子:黑客与渗透测试编程之道》 Scapy:网络的掌控者
- 1. scrapy的安装
- Xshell多版本被曝存在后门,了解紧急响应修复预案
- [rejected] master ->; master (fetch first)
- java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
- 《JAVA与模式》之代理模式
- D08——C语言基础学PYTHON