C#实现多个计时器记录不同定时时间
作者:风无痕丶 发布时间:2023-01-31 17:56:33
标签:C#,计时器,记录时间
本文实例为大家分享了C#实现多个计时器记录不同定时时间的具体代码,供大家参考,具体内容如下
1.定义Timer类、定义委托
//定义Timer类
System.Threading.Timer t3,t1,t2,t4;
//定义委托
public delegate void SetControlValue(object value);
2.初始化
private void InitTimer()//初始化
{
t1= new System.Threading.Timer(new TimerCallback(T1), null, Timeout.Infinite, 1000);
t2 = new System.Threading.Timer(new TimerCallback(T2), null, Timeout.Infinite, 1000);
t3 = new System.Threading.Timer(new TimerCallback(T3), null, Timeout.Infinite, 1000);
t4 = new System.Threading.Timer(new TimerCallback(T4), null, Timeout.Infinite, 1000);
}
3.因为要实现定时时间的不同,所以要定义不同的整型变量时、分、秒:
//一号机
int hour = 0;
int minute = 0;
int second = 0;
//二号机
int hour2 = 0;
int minute2 = 0;
int second2 = 0;
//三号机
int hour3 = 0;
int minute3 = 0;
int second3 = 0;
//四号机
int hour4 = 0;
int minute4 = 0;
int second4 = 0;
4.时间执行方法并输出:
private void T4(object state)// 时间T方法
{
try
{
second4++;
if (second4 == 60)
{
minute4++;
second4 = 0;
}
if (minute4 == 60)
{
hour4++;
minute4 = 0;
}
this.Invoke(new SetControlValue(S4), second4);
this.Invoke(new SetControlValue(S4), minute4);
this.Invoke(new SetControlValue(S4), hour4);
}
catch
{
}
}
private void S4(object value)
{
textBox4.Text = hour4.ToString() + "时" + minute4.ToString() + "分" + second4.ToString() + "秒";
}
private void T2(object state)
{
try
{
second2++;
if (second2 == 60)
{
minute2++;
second2 = 0;
}
if (minute2 == 60)
{
hour2++;
minute2 = 0;
}
this.Invoke(new SetControlValue(S2), second2);
this.Invoke(new SetControlValue(S2), minute2);
this.Invoke(new SetControlValue(S2), hour2);
}
catch
{
}
}
private void S2(object value)
{
textBox2.Text = hour2.ToString() + "时" + minute2.ToString() + "分" + second2.ToString() + "秒";
}
5.定时器的执行和停止,分别用{你定义的.Change(0, 1000)}、{你定义的.Change(0, 1000)}表示,如:
t1.Change(0, 1000);
t1.Change(Timeout.Infinite, 1000);
6.效果图:
来源:https://blog.csdn.net/m0_46673438/article/details/108335986


猜你喜欢
- 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身
- 本文实例讲述了java用接口、多态、继承、类计算三角形和矩形周长及面积的方法。分享给大家供大家参考。具体如下:定义接口规范:/** * @
- 配置两个parent的方法在向pom.xml 文件中添加依赖之前需要先添加spring-boot-starter-parent。spring
- 首先我们都知道java中的比较都是同一类对象与对象之间的比较,就好像现实生活中比较人和人的年龄一样,你不会去把人的年龄和人的身高来比较,这显
- centos下搭建GitLab+Jenkins持续集成环境,供大家参考,具体内容如下1、安装JDKyum install -y java2、
- 一、简介现在的Android应用程序中,不可避免的都会使用到图片,如果每次加载图片的时候都要从网络重新拉取,这样不但很耗费用户的流量,而且图
- 一.什么是多渠道打包在不同的应用市场可能有不同的统计需求,需要为每个应用市场发布一个安装包,这里就引出了Android的多渠道打包。在安装包
- 本文实例讲述了C#实现基于IE内核的简单浏览器。分享给大家供大家参考。具体如下:Form1.cs如下:using System;using
- 本文实例为大家分享了Android Camera实现可复用相机组件的具体代码,供大家参考,具体内容如下若自己的应用需要使用camera,有两
- 问题 @Cacheable注解不支持配置过期时间,所有需要通过配置CacheManneg来配置默认的过期时间和针对每个类或者是方法进行缓存
- 1,内容简介所谓的定时调度,是指在无人值守的时候系统可以在某一时刻执行某些特定的功能采用的一种机制,对于传统的开发而言,定时调度的操作分为两
- 最近在做关于PDF文档添加水印的功能,折腾了好久,终于好了。以下做个记录:首先会用到iTextSharp组件,大家可以去官网下载,同时我也会
- 在定义API的时候,对于一些返回集合对象的方法,很多人喜欢将返回类型定义成IEnumerable<T>,这本没有什么问题。这里要
- 本文实例为大家分享了UnityShader3实现彩光效果展示的具体代码,供大家参考,具体内容如下参考链接: 【OpenGL】Shader实例
- 关于logback日志的详解见这位仁兄的博客:Spring Boot-日志配置(超详细)我在这就开门见山直接介绍我们项目日志的配置使用吧!~
- 介绍Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。Spring Cache提供了一
- 本文实例为大家分享了java查找图中两点之间所有路径的具体代码,基于邻接表,供大家参考,具体内容如下图类:package graph1;im
- 项目初始流程:首先说一下pom.xml文件的依赖: <dependencies><!-- junit 测试 -->
- mybatis自动生成实体类、mapper文件、mapper.xml文件若采用mybatis框架,数据库新建表,手动编写的话,需要编写大量的
- 本文实例为大家分享了Unity3D撤回命令功能开发,供大家参考,具体内容如下在类似操作考核的项目中我们经常会遇到回到上一步的需求。所以我们有