zoukankan      html  css  js  c++  java
  • 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控件
    }
    }
    }

    }

  • 相关阅读:
    Android Studio 优秀插件: Parcelable Code Generator
    Android Studio 优秀插件:GsonFormat
    DrawerLayout(抽屉效果)
    Python拼接字符串的七种方式
    Python爬虫教程-使用chardet
    Python爬虫教程-实现百度翻译
    Tensorflow分布式部署和开发
    简单的Python GUI界面框架
    用keras构建自己的网络层 TensorFlow2.0教程
    Python GUI教程一:Hello World
  • 原文地址:https://www.cnblogs.com/pang572936554/p/8249882.html
Copyright © 2011-2022 走看看