c#延时小函数很好用

代码描绘人生 代码描绘人生     2022-08-07     650

关键词:

平时我们在做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

c#准确延时函数(代码片段)

最近一段时间用C#写了一个上位机,由于需要用到延时函数,所以给大家分享一个准确延时函数大家在网上一定找到过这个延时函数:用是能用,但是有一个致命问题,就是大于一分钟的延时会陷入无限死循环... 查看详情

c#准确延时函数(代码片段)

最近一段时间用C#写了一个上位机,由于需要用到延时函数,所以给大家分享一个准确延时函数大家在网上一定找到过这个延时函数:用是能用,但是有一个致命问题,就是大于一分钟的延时会陷入无限死循环... 查看详情

c#控制台基础函数的参数是接口实现接口的类都可以作为参数,很好用

1、代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceConsoleApplication1{//为了便于观看,我就把接口和类都写在一个.cs文件中了publicinterfaceISay{voidSay();}cl 查看详情

c#延时函数非sleep

1.示例:usingSystem.Runtime.InteropServices;[DllImport("kernel32.dll")]staticexternuintGetTickCount();staticvoidDelay(uintms){uintstart=GetTickCount();while(GetTickCount()-start<ms){System.Windows.For 查看详情

小程序webview设置cookie延时很长

参考技术A小程序webview设置cookie延时很长,嗯是的可以的,设置cookie是比较常见的配置,cookie持久化以保证免登录、保持会话等等。 参考技术Bwebview的确会自动保存cookie,但是不知为何会延迟很长很长一段时间,中途退出cookie就没... 查看详情

c#延时处理或者暂停执行

...ck(objectsender,EventArgse)...........;//执行代码delay(second);//插入延时函数...........;//执行代码求解这个delay(second)要怎么编写或者说是用一种什么样的方式来实现延时功能?thread.sleep()是不可行的,因为这个time1_tick一直存在,用sleep()函... 查看详情

微信小程序如何延时?定时?后执行一段代码?(坑记)(代码片段)

...零零碎碎做一些笔记。下面就微信小程序比较常用的几个延时和定时函数的使用笔记1、setTimeout()微信小程序的延时函数位setTimeout(),现在我们来利用该函数,两秒后打印一次“hello”。 setTimeout(   ... 查看详情

linux内核中的延时函数详解

内核中涉及的延时主要有两种实现方式:忙等待或者睡眠等待。前者阻塞程序,在延时时间到达前一直占用CPU,而后者是将进程挂起(置进程于睡眠状态并释放CPU资源)。所以,前者一般用在延时时间在毫秒以内的精确延时,后... 查看详情

微信小程序,延时执行js函数的问题

fight:function(e)that=this;that.setData(buttondisabled:true,loading:true),setTimeout(function()that.setData(buttondisplay:'none',playerdisplay:'block',,9000))fight:function(e)   that = this;   that.setData(      bu... 查看详情

c#中怎样建立定时器?用以替代thread.sleep(),克服sleep延时不精确的问题。

thread.sleep()返回可是在指定时间前后几百毫秒内发生,很影响系统的稳定。怎样建立一个新的定时器,改定时器指定时间可以设定,定时精度在毫秒级别,最好不要太消耗资源,能让线程短时暂停就更好了。参考技术A推荐使... 查看详情

一个很好用的中奖概率控制器

...开发知识。嗨!大家好,我是小蚂蚁。今天分享一个非常好用的概率控制器,可以用于游戏中两种行为出现的概率控制。这个方法来自于《大师谈游戏设计》(作者:吉泽秀雄)一书中,作者提到的一个WIN-LOSS控制器。这个WIN-LOS... 查看详情

关于keil延时函数的问题,和硬件不一致

...一个硬件的程序,对时序要求很高,因此需要较为精确的延时函数,由于要用很多,所以不用定时器,用延时函数。不过在用keil仿真我的延时函数的时候我发现一个问题,就是用keil软件仿真出来的时间和用硬件仿真出来的时间... 查看详情

c#中是wpf好用还是窗体好用

参考技术Awpf就是皇帝的新装,不伦不类虚假外壳,整体性能低于winform,也不可能超过H5,它的野心是同意windows与web,但是无法实现。要么老老实实用winform要么直接Idea做会吧,放弃鸡肋一样的wpf 查看详情

cocoscreator有关延时,sleep

...leep()等等,但是都不能用。最后发现了一个函数可以作为延时用: 查看详情

基于委托的c#异步编程的一个小例子带有回调函数的例子(代码片段)

我创建的是一个winform测试项目:界面如下:设置:下面是代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading;usi 查看详情

delphi真正实现延时暂停功能(代码片段)

用delphi怎么实现延时功能?在delphi中有一个sleep()函数是用来暂停线程的,使用了它好像和死掉了似得,不好用,这么简单的延时动作用Timer控件有显得复杂了。下面给大家分享一个真正好用的延时功能:proceduredelay(MSecs:LongInt);var... 查看详情

c#日志文件

...功能,以前都是别人写好的,直接调用的,近期写了一个小工具,因为比较小,所以懒得引用dll文件了,直接上网找了一个,很方便,现在记录下publicclassLogClass{/**////<summary>///写入日志文件///</summary>///<paramname="input"&g... 查看详情

力软的c#开发框架好不好用?服务好不好?

挺好用的,是我用过的C#框架里算好的了,服务也挺不错的,基本有问题都会帮忙解决。重点是服务很到位参考技术A有了解过力软的C#开发框架,敏捷开发框架的主架构为基于.netMVC的BS架构,后台ORM支持EF和dapper两种模式,用于... 查看详情