C# 中有四种定时器

news/2024/11/22 10:31:29/

目录

C# / .Net中的四种定时器:

1、System.Threading.Timer

2:System.Timers.Timer

3:System.Windows.Forms.Timer(Windows Forms Timer)

4:System.Windows.Threading.DispatcherTimer(WPF timer);


C# / .Net中的四种定时器:

        System.Windows.Forms.Timer类型(Winfrom专用)

        System.Threading.Timer类型

        System.Timers.Timer类型

        System.Windows.Threading.DispatcherTimer类型(WPF专用)

**************************************************************************************************************

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);

public DispatcherTimer SysInTimer = new System.Windows.Threading.DispatcherTimer();
SysInTimer.Tick += new EventHandler(Srcinf);
SysInTimer.Interval = TimeSpan.FromSeconds(15);
SysInTimer.Start();public void Srcinf(object sender, EventArgs e)
{}

        注意的是在wpf中涉及到界面操作的话,一定要使用第四种定时器DispatcherTime,DispatcherTimer是为wpf专门设计的,不然的话会提示界面资源被其他线程所拥有而无法更新界面。

**************************************************************************************************************


http://www.ppmy.cn/news/146136.html

相关文章

Tomcat配置debug日志

感觉这个不是很难,但是又没有找到合适的,重新写一条吧。要在Tomcat中设置调试(debug)日志,您可以按照以下步骤进行操作: 导航到Tomcat安装目录下的conf文件夹。 在conf文件夹中找到logging.properties文件…

Vue3 小兔鲜4:Layout-静态模版结构搭建

Vue3 小兔鲜4&#xff1a;Layout-静态模版结构搭建 Date: May 31, 2023 目标效果&#xff1a; 分成Nav、Heade、二级路由出口、Footer区域 组件结构快速搭建 Nav <script setup></script><template><nav class"app-topnav"><div clas…

企业开发前端框架2023最新前沿技术vue3+vite+vuetify+js+Tailwind Css

文章目录 前言创建项目1、打开vuetify的官网下载项目2、下载依赖3、添加tailwindcss依赖 结束 前言 最近需要开发新的项目&#xff0c;正好学习了Tailwindcss&#xff0c;所以就想着集成到新项目里来&#xff0c;一来可以精进项目经验&#xff0c;也可以感受一下tailwindcss的…

RocksDB笔记 -- 整体架构

RocksDB是由Facebook开发的存储引擎, 它最初的目标是用于快速存储, 特别是Flash存储. 一个基于C开发keys-values存储引擎库. 整体架构 RocksDB由这三个基本结构组成: memtable, sstfile 和 logfile. 其中: memtable是一个内存数据结构, 新的写入会插入到memtable中, 同时可选…

bing必应壁纸下载器

自己写的一个简单的必应壁纸获取工具&#xff0c;可以自动获取必应壁纸并设置为桌面。 界面如图 下载地址 https://wjk.lanzous.com/ibf8xyb

大写数字时钟电脑壁纸下载

壁纸名称&#xff1a;冷高轮时间 壁纸样式&#xff1a;梵高数字动态时钟&#xff0c;王思聪吃热狗数字动态时钟&#xff0c;手势数字动态时钟&#xff0c;大写数字动态时钟&#xff0c;中文汉字动态时钟&#xff0c;麻将数字动态时钟&#xff0c;扑克数字动态时钟 电脑壁纸下…

HarmonyOS | 鸿蒙系统内置原生壁纸下载

点击上方蓝字 关注后回复 壁纸 获取所有精美壁纸 下载方式 长按二维码关注 逆锋起笔 回复【壁纸】立刻获取高清壁纸

iOS 15 内置原生壁纸下载

iOS 15 2048PX x 2048PX 下载方式 长按二维码关注 逆锋起笔 回复【壁纸】立刻获取高清壁纸