Application.DoEvents()的作用

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

测试了一下,没有Application.DoEvents()的时候,Label基本处于假死机状态,最后显示一个9999,加上后会数字变换正常显示。

从这个测验后DoEvents的功能,应该DoEvents就好比实现了进程的同步。在不加的时候,因为优先级的问题,程序会执行主进程的代码,再执行别代码,而加了以后就可以同步执行。

交出CPU控制权,让系统可以处理队列中的所有Windows消息,比如在大运算量循环内, 加Application.DoEvents可以防止界面停止响应,因为winform的消息循环是通过新创建一个线程来处理的,那么假如你的某个操作比较耗时,那么消息处理得等你这个耗时操作做完了才能继续,而Application.DoEvents方法就是允许你在耗时操作的内部调用它,而去处理消息队列中的消息。像鼠标移动鼠标点击都是windows消息,如果耗时操作一直进行,那么界面就像死锁一样。

引文连接:

使用Application.DoEvents()的坏处:

Original: https://www.cnblogs.com/soundcode/p/15951696.html
Author: 左正
Title: Application.DoEvents()的作用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/545586/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球