虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > C#编程 > C#线程倒计时器源码分享

C#线程倒计时器源码分享
类别:C#编程   作者:码皇   来源:互联网   点击:

这篇文章主要为大家分享了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#使用Shader实现夜幕降临倒计时的效果
  • C#结合JavaScript实现秒杀倒计时的方法
  • C#实现windows form倒计时的方法
  • c#编写的番茄钟倒计时器代码
  • C#基于TimeSpan实现倒计时效果的方法
相关热词搜索: C 线程倒计时器 C 倒计时器 C 倒计时