zoukankan      html  css  js  c++  java
  • [C#.net]使用Thread.Sleep界面卡死的问题解决方法

    很多初学者在写C#程序的时候,需要程序等待某个时间,但是又不想用比较繁琐的线程等操作,因此用Thread.Sleep()函数,但是这个函数在等待过程中会操作界面的卡死,那么,如何能保证既不卡死又能达到等待的功能呢?其实也很简单,用下面的一段代码代替Thread.Sleep()函数即可。

          #region 毫秒延时 界面不会卡死
            public static void Delay(int mm)
            {
                DateTime current = DateTime.Now;
                while (current.AddMilliseconds(mm) > DateTime.Now)
                {
                    Application.DoEvents();
                }
                return;
            }
            #endregion

    Application.DoEvents()的作用:处理所有的当前在消息队列中的Windows消息

    其实doEnvents很简单,就是暂停一下当前模块Code,好让你程序可以响应其它事件、消息……   
    响应完其它事之后又回去继续执行刚才的Code  (允许窗体在忙时响应 UI 输入)

    但是会影响当前代码的执行效率!!!

  • 相关阅读:
    arm单板上移植gdb
    video on web
    chromium源码阅读
    CE-HTML简介
    multi-tap
    DPDK 网卡RSS(receive side scaling)简介
    c语言实现带LRU机制的哈希表
    Linux TCP协议使用的变量
    scp源码浅析
    Linux e1000e网卡驱动
  • 原文地址:https://www.cnblogs.com/masonlu/p/11237382.html
Copyright © 2011-2022 走看看