C#线程倒计时器源码分享

 更新时间:2020年12月21日 13:38:10   作者:王子先生  
这篇文章主要为大家分享了C#线程倒计时器源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了C#线程倒计时器源码,供大家参考,具体内容如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;

namespace ListZZBG
{
class TimeHeleper
{
Thread thread;
private TimeSpan time; //计时时间 
private TimeSpan endTime; //到点时间 
private Label lb;
private bool whereExit = true;

/// <summary> 
/// 设定计时器计时的时间 
/// </summary> 
/// <param name="StartTime">计时器时间,如:01:00:00 既1小时</param> 
public TimeHeleper(TimeSpan StartTime, Label lb)
{
time = StartTime;
this.lb = lb;
}

public void ShowLabel()
{
lb.Text = time.ToString();
}

/// <summary> 
/// 获取时间 
/// </summary> 
/// <returns></returns> 
public TimeSpan GetTime()
{
return time;
}

/// <summary> 
/// 开启计时器 
/// </summary> 
public void Open()
{
//计算到点时间 
TimeSpan tsNow = TimeSpan.Parse(DateTime.Now.ToString("HH:mm:ss"));
TimeSpan tsAdd = time;
endTime = tsNow + tsAdd;
//线程开始 
whereExit = false;
thread = new Thread(TimeThreadStart);
thread.IsBackground = true;
thread.Start();
}

/// <summary> 
/// 关闭计时器 
/// </summary> 
public void Close()
{
whereExit = true;
thread.Join(1000);
}

private void TimeThreadStart()
{
while (!whereExit)
{
RunTime();
Thread.Sleep(1000);
}
}

private delegate void RunTimeDelegate();
private void RunTime()
{
if (lb.InvokeRequired)
{
RunTimeDelegate d = RunTime;
lb.Invoke(d);
}
else
{
time = endTime - TimeSpan.Parse(DateTime.Now.ToString("HH:mm:ss"));
string[] sp = time.ToString().Split(':');
lb.Text = sp[2].ToString(); //liable1控件
}
}
}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C# Environment.CurrentDirectory 静态属性的实现

    C# Environment.CurrentDirectory 静态属性的实现

    本文主要介绍了C# Environment.CurrentDirectory 静态属性的实现,它返回当前应用程序的工作目录路径,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • C#判断一个图像是否是透明的GIF图的方法

    C#判断一个图像是否是透明的GIF图的方法

    这篇文章主要介绍了C#判断一个图像是否是透明的GIF图的方法,涉及C#针对gif图片属性的相关操作技巧,需要的朋友可以参考下
    2015-06-06
  • C# 动画窗体(AnimateWindow)的小例子

    C# 动画窗体(AnimateWindow)的小例子

    C# 动画窗体(AnimateWindow)的小例子,需要的朋友可以参考一下
    2013-03-03
  • 理解C#中的Lambda表达式

    理解C#中的Lambda表达式

    这篇文章主要介绍了理解C#中的Lambda表达式,本文用实例代码来讲解Lambda表达式,用不同的角度总结对它的认识,需要的朋友可以参考下
    2015-04-04
  • C#生成DLL文件的方法

    C#生成DLL文件的方法

    这篇文章主要介绍了C#生成DLL文件的方法,较为详细的分析了使用C#生成DLL文件所涉及的相关技巧与实现方法,需要的朋友可以参考下
    2015-07-07
  • C#设置Word文本框中改变文字方向的方法

    C#设置Word文本框中改变文字方向的方法

    在Word中可插入文本框,默认情况下插入的文本框中的文字方向为横向排列,对于一些特殊文档的设计要求,需要改变文字方向,本文就详细的介绍一下使用,感兴趣的可以了解一下
    2021-06-06
  • C#净化版WebApi框架的实现

    C#净化版WebApi框架的实现

    这篇文章主要介绍了C#净化版WebApi框架的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • C# 删除字符串中的中文(实例分享)

    C# 删除字符串中的中文(实例分享)

    本文主要分享了C#删除字符串中的中文的具体实例,具有一定的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • C#与C++与互操作实例讲解

    C#与C++与互操作实例讲解

    在本篇文章里小编给大家整理了关于C#与C++与互操作实例以及相关内容,需要的朋友们可以学习下。
    2019-08-08
  • C#接口实现方法实例分析

    C#接口实现方法实例分析

    这篇文章主要介绍了C#接口实现方法,以实例形式较为详细的分析了C#接口的功能、定义及实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10

最新评论