分享

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

 Csharp小记 2023-10-29 发布于江苏

定时器,在开发中的用途以及重要性不言而喻,特别是在我们的winform等客户端程序中。

C#向我们提供了三种计时器的实现,在此我们简单的介绍一下。

具体的实现代码如下,可以根据需要选择使用。

实现代码:

    //第一种:System.Windows.Forms.Timer    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();        } //第二种:System.Timers.Timer        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();        }//第三种:System.Threading.Timer        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(); }

以上三种定时的区别,大家可以自行运行测试下查看效果。

由简入繁,拿来即用

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多