当前位置: 首页 > news >正文

TimeSpan(一个简单的计时器)

1.如下图所示:

总时长=运行时长加上暂停时长;

暂停时长在每次点击暂停的时候叠加;

 2.代码如下:

TimeSpan TimeStart;TimeSpan TimeStop;//暂停时间点TimeSpan TimeStops;//暂停总时长TimeSpan TimeOver;//总时间TimeSpan TimeOvers;//总时间减去暂停时间DateTime timeStop;//暂停计时bool isStop = false;/// <summary>/// 开始/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button1_Click(object sender, EventArgs e){timer1.Enabled = true;DateTime time = DateTime.Now;TimeStart = new TimeSpan(time.Ticks);}/// <summary>/// 暂停/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button2_Click(object sender, EventArgs e){isStop = true;TimeStop = new TimeSpan(DateTime.Now.Ticks).Add(-TimeStops);}/// <summary>/// 继续/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button3_Click(object sender, EventArgs e){isStop = false;TimeStops = new TimeSpan(DateTime.Now.Ticks).Subtract(TimeStop);}/// <summary>/// 结束/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button4_Click(object sender, EventArgs e){//TimeOver = new TimeSpan(DateTime.Now.Ticks).Subtract(TimeStops);}private void timer1_Tick(object sender, EventArgs e){if (isStop){TimeStops = new TimeSpan(DateTime.Now.Ticks).Subtract(TimeStop).Duration() ;int v= (int)TimeStops.TotalHours;textBox_StopNum.Text = $"{v:F0}:{TimeStops.Minutes}:{TimeStops.Seconds}";}else{TimeOver = new TimeSpan(DateTime.Now.Ticks).Subtract(TimeStart).Duration();TimeOvers = TimeOver.Subtract(TimeStops);int hour = (int)TimeOver.TotalHours;textBox_TimeNum.Text = $"{hour:F0}:{TimeOver.Minutes}:{TimeOver.Seconds}";textBox_Run.Text = $"{TimeOvers.TotalHours:F0}:{TimeOvers.Minutes}:{TimeOvers.Seconds}";}}


http://www.mrgr.cn/news/30223.html

相关文章:

  • CSS:导航栏三角箭头
  • hive的tblproperties支持修改的属性
  • Springboot如何打包部署服务器
  • zookeeper之节点基本操作
  • QT Unknown module(s) in QT 以及maintenance tool的更详细用法(qt6.6.0)
  • Docker使用docker-compose一键部署nacos、Mysql、redis
  • 佰朔资本:pb和pe是什么?股票pb和pe怎么看?
  • apt-get install 安装的tomcat配置
  • 硬件资源从硬编码到设备树
  • 深入解析NVIDIA GH200:Grace Hopper的多样性与性能挑战
  • 基于SpringBoot+Vue的篮球馆会员信息管理系统
  • nodejs child_process 操作git 提交记录 提取git commit信息
  • Vue:加载本地视频
  • C++和OpenGL实现3D游戏编程【连载9】——纹理的镂空显示
  • 电子书号和纸质书号的ISBN 号有什么不同?
  • 《高等代数》行列式转置(应用)
  • 如何让零售巨头在营销拓客中旗开得胜?新增企业API自动输出客户名单!
  • git 压栈存储当前分支修改,出栈使用保存
  • Fiddler 工具使用教程
  • platform
  • Linux系统查看硬件配置教程
  • Android U 多任务启动分屏——Launcher流程(下分屏 更新中)
  • 电力电容器、电子电容器的区别
  • shell脚本中的if语句、shell脚本中的if条件语句介绍和使用案例(非常全面)
  • DDoS对策是什么?详细解说DDoS攻击难以防御的理由和对策方法
  • 高等数学 3.3 泰勒公式