C# 利用线程实现简单的timer计时器效果

25 篇文章 0 订阅
订阅专栏

废话不多说了,直接上效果图了!
在这里插入图片描述
代码,如下:

namespace MyForm
{
    public delegate void FlushTime();//定义时间刷新的委托
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Thread thread = new Thread(CroseTime);
            thread.IsBackground = true;
            thread.Start();
        }

        /// <summary>
        /// 定义时间刷新的方法
        /// </summary>
        void CroseTime()
        {
            while (true)
            {
                Thread.Sleep(1000);
                ThreadFlush();
            }
        }
        /// <summary>
        /// 显示时间
        /// </summary>
        void ThreadFlush()
        {
            //判断该控件是否在线程中被调用
            if (this.lbl_LoadTime.InvokeRequired)
            {
                FlushTime flush = new FlushTime(ThreadFlush);
                this.lbl_LoadTime.Invoke(flush);//刷新时间信息
            }
            else
            {
                this.lbl_LoadTime.Text = DateTime.Now.ToString("yyyy年MM月dd日 hh时mm分ss秒");
            }
        }

        /// <summary>
        /// 触发累计计时的线程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Btn_Satrt_Click(object sender, EventArgs e)
        {
            Thread thread = new Thread(Timer);
            thread.IsBackground = true;
            thread.Start();
        }
        /// <summary>
        /// 累计计时
        /// </summary>
        void Timer()
        {
            double time = 0;//初始化时间
            while (true)
            {
                Thread.Sleep(1000);
                time++;
                //方法一
                Action setValue = () =>
                {
                    this.lbl_time.Text = TimeSpan.FromSeconds(time).ToString(@"dd\.hh\:mm\:ss");
                };
                this.lbl_time.Invoke(setValue);
                //方法二
                //this.lbl_time.Invoke((EventHandler)(delegate { this.lbl_time.Text = TimeSpan.FromSeconds(time).ToString(@"dd\.hh\:mm\:ss"); }));
            }
        }
    }
}

代码贡献完毕!

一辈子,很累,真的不需要去苛求自己,什么都要完美,你的生活,有你的足迹,有你的泪水,有你的笑声,你的世界就已经完美了。

C#线程(五)计时器
subin_iecas的博客
05-12 4638
6. 计时器 计时器可以周期性的执行某个方法。6.1. System.Threading.Timer线程计时器利用线程池,通过线程池定期执行某个方法,因此可以严格的定时执行某个方法。如果某个方法比较耗时,该计时器通过线程池技术保证定时出发该方法,只不过通过不同的线程来执行。6.1.1. 常用方法构造方法public Timer (TimerCallback tick, object state,...
C# Timer计时器
a11_a的博客
07-13 790
document.execCommand("copy")
C#线程及定时器的功能实现
07-28
实现C#2008里面的定时器功能的打开和关闭,线程的打开和关闭! 已经做成简单界面便于深入开发
C#线程计时器类。
weixin_34253126的博客
12-03 247
该例子是一个封装的计时器类。 实现功能: (1)传入一个时间 HH:mm:ss 字符串 和 label控件对象 即可实现控件倒计时。 三行代码即可运行,如下图效果: 当然,每个项目需要的需求不同,这里只是抛砖引玉。 下面贴出我的代码,欢迎讨论。 完整代码: namespace ThreadTime { public partial class F...
[C#] Timer计时器
laoniu541292552的专栏
09-15 1241
问题描述:在线程里有一个需要倒计时的功能,本来使用工具栏里的Timer控件,结果发现无法进入Timer的循环方法,单独拿出来调试Timer控件时,发现正常使用ok的,怀疑是线程Timer的问题。 查阅相关资料后发现: 其他线程是无法控制Form下的Timer,一般可使用System.Timer或System.Threading.Timer 代替。 一定要用Form下的Timer
【多线程案例】Java实现简单定时器(Timer
最新发布
m0_73381672的博客
10-10 542
在日常生活中,如果我们想要在 t 时间 后去做一件重要的事情,那么为了防止忘记,我们就可以使用闹钟的计时器功能,它会在t时间后执行任务(响铃)提醒我们去执行这件事情. — 这就是Java定时器的简单功能。它作为一种日常开发组件。约定一个时间,时间到达之后,执行某个任务。常被用于网络通信。 ​
C#实现的Win32控制台线程计时器功能示例
12-31
本文实例讲述了C#实现的Win32控制台线程计时器功能。分享给大家供大家参考,具体如下: 在C#中提供了三种类型的计时器: 1、基于 Windows 的标准计时器(System.Windows.Forms.Timer) 2、基于服务器的计时器(System....
C#线程计时器源码分享
08-28
本篇文章分享了一个C#线程计时器的源码实现,可以帮助开发者理解如何在多线程环境中创建一个自定义的倒计时功能。 首先,`TimeHeleper` 类是实现线程倒计时的核心类。它包含了以下几个重要的成员: 1. `Thread ...
C# .net 定时器,多线程实现定时器
04-11
NULL 博文链接:https://heisetoufa.iteye.com/blog/1684467
Timer累计计时器利用系统时间计时 含代码注释
04-17
Timer累计计时器利用系统当前时间累计计时 准确无误 程序简单易懂 含代码注释
C# 定时器定时更新的简单实例
12-31
如下所示: 代码如下:class Program     {         static void Main(string[] args)         {             //for (int i = 0; i < 100; i++)             //{             //    SendMessage(“13161626306”, “13161626306”);             //}             System.Timers.Timer aTimer = new System.Timers.Timer();             aT
Python tkinter:90行 多线程「史上最简易计时器实现
射手座轩木酱的代码天地~
12-27 3858
这里我们定义暂停、重置与entry框中的显示,后续绑定在按钮与窗口上。这里的一堆if...else...是为了当数字只有1位时加上0,更美观。
【多线程】在多线程环境下实现一个定时器
qq_54883034的博客
07-25 898
描述一个任务使用优先队列来组织若干个任务,并且这个优先队列要带有阻塞实现一个schedule()方法来注册任务到队列中创建一个扫描线程,这个扫描线程不停的获取到队首元素,并且判定时间是否到达,另外需要注意的是让MyTask2类能够试吃比较,以及注意解决这里的忙等问题httpshttpshttpshttpshttps。...
C#线程 - Timer计数器
道可盗经常盗
07-02 2408
C#中的三种Timer计数器 原文链接:https://blog.csdn.net/u011966339/article/details/79551437 在.NET中有三种计时器: 1、System.Windows.Forms命名空间下的Timer控件,它直接继承自Componet。Timer控件只有绑定了Tick事件和设置Enabled=True后才会自动计时,停止计时可以用Stop()方法控制,通过Stop()停止之后,如果想重新计时,可以用Start()方法来启动计时器Timer控件和它.
C#线程计时器
yal179的专栏
08-27 1393
原文地址:http://blog.csdn.net/andrew_wx/article/details/6659756 很好的一片文章,
Android 中简单计时器实现方法(Handler和TimerTask)
热门推荐
路宇的博客
04-21 1万+
方法一、用handler线程创建计时器 计时器效果如下: 第一步:写xml文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.androi
用Thread替代Timer——简单的多线程处理(一)
weixin_34279061的博客
04-25 679
工作需要一个动态的窗口,有自动倒计时、后台发送数据、后台打印等功能。 第一版Demo采用了Timer作为后台处理机制核心,代码量少,可读性高。但是实际效果差强人意,特别是多timer阻塞的情况很严重。 总结了一下实际需求和后台事件,决定用Thread代替原有的Timer。 顺便一提,C#的Thread加上语法糖真是甜,原来需要写一大段的代码现在只要一行...
C#定时检查子线程是否执行完成(定时器检查)
^菜鸟^
03-09 3247
定时器定时去检验子线程是否执行完成。如果完成关闭定时器,继续执行别的方法。 private volatile static FileReadManager uniqueInstance; private Timer _FileReadTimer = null; private Timer _PriorityFileReadTimer = null;
C#线程计时器和控件timer
06-12
C#中有两种常用的计时器:多线程计时器和控件Timer。 多线程计时器是使用System.Threading命名空间中的Timer实现的,它是一个后台线程,可以在指定的时间间隔内执行一些操作。它的优点在于它可以在后台运行,不会...
写文章

热门文章

  • 给Redis配置环境变量 14665
  • 反射机制(C#)------获取实体类中字段的描述信息 4344
  • Sql Server2008中的LDF文件太大的处理方法 4182
  • MSSQL数据库一直显示“正在恢复”,无法进行其他操作 3627
  • Spire.Doc for .NET 笔记 3501

分类专栏

  • web 3篇
  • 运维 5篇
  • Dynamic Crm 1篇
  • IIS 2篇
  • MySql 2篇
  • MySql数据还原导入 1篇
  • layui 1篇
  • 测试
  • Sql Server数据库操作 5篇
  • 前端技术 13篇
  • .NET 17篇
  • C# 25篇
  • Redis数据库 2篇
  • 电脑操作 2篇
  • 社区应用 1篇
  • 项目业务一 4篇
  • jQuery 3篇
  • 测试服务器部署 1篇
  • SQL 3篇
  • MecacheDB 1篇
  • 观察者模式
  • iis项目部署 1篇

最新评论

  • SqlServer跨服务器操作数据

    qq_53647547: 哥,第一串代码啥意思,是写在哪里的

  • C# 后台代码实现对Sql Server 数据库的备份操作

    William Wang~: 是的,要想看进度就再加代码完善吧!

  • 给Redis配置环境变量

    独孤自学: 表情包

  • C# 后台代码实现对Sql Server 数据库的备份操作

    冷小莫88: 这个不能显示备份进度吧

  • 反射机制(C#)------获取实体类中字段的描述信息

    William Wang~: 嗯???

最新文章

  • 从安装Node到TypeScript到VsCode的配置教程
  • Dynamics 365 N:N子网格添加现有Inline Lookup筛选
  • C#控制台 WebService中wsdl服务引用的使用
2024年2篇
2022年1篇
2021年5篇
2020年8篇
2019年45篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家银川公园玻璃钢雕塑哪家好沈阳水果玻璃钢雕塑定做广东玻璃钢马雕塑厂家玻璃钢雕塑厂家在哪里江门树脂玻璃钢雕塑生产厂家河北花钵玻璃钢雕塑报价高品质玻璃钢雕塑哪里卖新款玻璃钢卡通雕塑厂家芜湖玻璃钢雕塑定做沧州卡通玻璃钢雕塑定制新密玻璃钢景观雕塑长宁区镜面玻璃钢雕塑多少钱孝感玻璃钢雕塑定制安徽玻璃钢雕塑加工厂家价格商场美陈复古宁德玻璃钢牌匾雕塑抚州景区玻璃钢雕塑定制商场美陈雕塑厂山东开业商场美陈价格吉林景区玻璃钢雕塑制作绍兴商场美陈销售厂家滁州新年商场美陈西安园林玻璃钢雕塑玉溪玻璃钢雕塑批发玻璃钢人像雕塑专业石家庄佛山玻璃钢卡通雕塑价格室内玻璃钢雕塑哪家好朔州玻璃钢卡通雕塑厂家基督教玻璃钢雕塑定做济南玻璃钢雕塑之家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化