Linux下使用c#开发倒计时功能

 在这里,我将采用两种线程方式开发倒计时功能,线程分别采用ThreadPool 和Thread。使用ThreadPool、Thread,需要先使用System.Threading空间。

 开发功能:下班倒计时(假设每天下午5:30下班)
1.首先我们需要获取离下班还有多长时间,这里我们采用TimeSpan来计算时间差。
String ymd = DateTime.Now.ToString("yyyy-MM-dd");
DateTime end = DateTime.ParseExact(ymd + " 17:30:00","yyyy-MM-dd HH:mm:ss",null);
DateTime start = DateTime.Now;
TimeSpan ts = end - start;
2.倒计时功能实现

    2.1 通过ThreadPool方式
ThreadPool.QueueUserWorkItem ((arg) => 
    {
        while(ts.Hours != 0 || ts.Minutes != 0 || ts.Seconds != 0){
            //timeTextViewer 是窗体中TextView的名称,我们将时间显示在窗体上
            timeTextViewer.Buffer.Text = 
            "离下班还剩  " + ts.Hours + " 小时 " + ts.Minutes + " 分钟 " + ts.Seconds + " 秒";
            Thread.Sleep(1000);
            ts = ts.Add(new TimeSpan(0,0,-1));
        }
    });
2.2 通过Thread方式
//在窗体创建的函数中:
Thread thread = new Thread (TimerLeft);
thread.Start ();

//函数外,同一类中
private void TimerLeft(){
    DateTime end = DateTime.ParseExact(ymd + " 17:30:00","yyyy-MM-dd HH:mm:ss",null);
    DateTime start = DateTime.Now;
    TimeSpan ts = end - start;
    while(ts.Hours != 0 || ts.Minutes != 0 || ts.Seconds != 0){
        timeTextViewer.Buffer.Text = 
        "离下班还剩  " + ts.Hours + " 小时 " + ts.Minutes + " 分钟 " + ts.Seconds + " 秒";
        Thread.Sleep(1000);
        ts = ts.Add(new TimeSpan(0,0,-1));
    }
}
完成后我们就可以运行我们的程序了。

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值