C# 定时器的三种使用方式

本文介绍了C#中用于定时任务的三种计时器:Windows Forms Timer、System Timers Timer和System Threading Timer,并通过代码示例展示了它们的使用方法。这些计时器分别适用于不同的场景,如单线程和多线程操作,帮助开发者灵活地实现定时功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定时器,用途以及重要性不言而喻。

C#向我们提供了三种计时器的实现。具体实现代码如下,可根据需要选择使用。

实现代码:


        private void button1_Click(object sender, EventArgs e)
        {
            //单线程
            System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
            //1秒间隔
            timer.Interval = 1000;
            //执行事件
            timer.Tick += (s, e1) =>
            {
                listBox1.Items.Add("Forms Timer");
            };
            //开始执行
            timer.Start();
            //Thread.Sleep(3000);
            //结束执行
            timer.Stop();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //多线程
            System.Timers.Timer timer = new System.Timers.Timer();
            //1秒间隔
            timer.Interval = 1000;
            //执行事件
            timer.Elapsed += (s, e1) =>
            {
                listBox1.Invoke(new Action(() =>
                {
                    listBox1.Items.Add("Timers Timer");
                }));
            };
            //开始执行
            timer.Start();
            // Thread.Sleep(3000);
            //结束执行
            timer.Stop();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            //多线程
            //初始化时即设定好启动时间、执行事件、间隔等参数
            System.Threading.Timer timer = new System.Threading.Timer(s =>
            {
                listBox1.Invoke(new Action(() =>
                {
                    listBox1.Items.Add("Threading Timer");
                }));

            }, null, 0, 1000);
            // Thread.Sleep(3000);
            //结束执行
            timer.Change(-1, -1);
            timer.Dispose();
        }

 

 由简入繁,拿来即用

更多精彩,请关注微信公众号:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值