winform 使用Thread.Sleep界面卡死 使用 Application.DoEvents 方法防止UI假死

时间:2021-07-01 16:29:40   收藏:0   阅读:0
      #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 输入)

 

避免使用 Thread.Sleep

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!