博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 延时小函数 很好用
阅读量:6533 次
发布时间:2019-06-24

本文共 971 字,大约阅读时间需要 3 分钟。

平时我们在做winform开发的时候,有时候需要让程序休眠几秒钟,但是,如果我们直接使用 thread.sleep()函数,页面ui就会停止响应。怎么样解决呢,你可以把页面涉及到表现ui的代码放到一个单线程处理,也可以采用我下面的做法,加一个小函数ok了。

测试过很好用。

public static bool Delay(int delayTime)       {            DateTime now = DateTime.Now;            int s;            do            {                 TimeSpan spand = DateTime.Now - now;                 s = spand.Seconds;                 Application.DoEvents();            }             while (s < delayTime);            return true;        }

 

也可以在线程里面休眠,然后在到主线程。

void Sleep()       {           Thread thr = new Thread(() =>           {               //这里还可以处理些比较耗时的事情。               Thread.Sleep(1000);//休眠时间               this.Dispatcher.Invoke(new Action(() =>               {                   DoSomeThing();//调用处理事件               }));           });       }       //休眠后你要做的事情       void DoSomeThing()       { }

 

也可以使用 await Task.Delay(20);

https://msdn.microsoft.com/en-us/library/system.threading.tasks.task.delay%28v=vs.110%29.aspx

转载地址:http://vlqbo.baihongyu.com/

你可能感兴趣的文章
数据挖掘的数据集资源 --转载
查看>>
JavaScript学习——内置属性
查看>>
Safari 11.0 已发布,新特性都在这儿了!
查看>>
spark 作业提交(架构层面)
查看>>
基于Hadoop生态圈的数据仓库实践 —— 环境搭建(三)笔记
查看>>
RMAN概述及其体系结构
查看>>
Shell运算符
查看>>
流程的一些规划
查看>>
mybatis
查看>>
HBase JavaAPI
查看>>
神奇的Invsqrt函数
查看>>
【转载】休眠状态和墓碑状态
查看>>
Django框架开发web网站的网页优化—页面静态化
查看>>
PHP Jquery
查看>>
mysql的MyISAM 和 InnoDB 的区别?优化MYSQL数据库的方法?
查看>>
50道sql练习题和答案
查看>>
获取本地soapUI项目路径
查看>>
窗口可视区和其他一些参数
查看>>
如何利用Mathematica调用C编写的函数
查看>>
java第四次作业
查看>>