C#中的doEvents在我个人理解来看有点多线程的意思,但是他不是多线程,他是单线程的,只不过DoEvents可以执行Windows消息队列中的消息。

那么DoEvents的应用场景有哪些呢?

比如:在连接一个数据库的时候,读取数据库中所有的信息,由于是单线程的,所以这个时候系统会因为需要加载大量的数据而阻塞,winform的前端界面会因为这个卡顿,出现无法再拖拽窗口,无法点击界面按钮等情况,这个时候加一个DoEvents方法,就可以让窗口界面可以拖动,可以点击按钮。

解释:因为windows绘制窗口的命令是存储在windows的消息队列中,DoEvents可以唤醒消息队列,让他执行操作。但是这样会有一个缺点,程序运行的效率会大大降低,可能会降低好几倍,因此DoEvents方法不建议经常使用,他仅仅可以给用户带来良好的体验,对于程序本身,没有很值得使用的地方。

C# doevents相关推荐

  1. C# Application.DoEvents() 处理队列消息,防界面假死。

    该方法可以处理当前队列的消息,比如一个for循环 5000次 向TextBox中追加文本,那肯定会假死一会儿的. 此时便可使用Application.DoEvents()来处理队列的信息. 简单说下使 ...

  2. c# Application.DoEvents

    public static void Delay(int ms){int start = System.Environment.TickCount;while (System.Environment. ...

  3. Application.DoEvents()的使用

    最近做了一个个人数字图书馆管理系统,因为牵扯到电脑文件的扫描,想做一个实时显示当前扫面文件的功能,就类似于360文件扫描时的效果,本来打算用多线程来实现,但是方法太多没有实现,后来在程序中进行控制,由 ...

  4. C# Winform中慎用Application.DoEvents

    private void Add(){for (int i = 0; i < 100; i++){Button button = new Button();button.Width = 300; ...

  5. Application.DoEvents

    记得第一次使用Application.DoEvents()是为了在加载大量数据时能够有一个数据加载的提示,不至于系统出现假死的现象,当时也没有深入的去研究他的原理是怎样的,结果在很多地方都用上了App ...

  6. VB中DoEvents的注意事项

    对与再大循环里 加入   DoEvents却是可以使应用程序响应其他程序,但是 DoEvents也会很大程度上影响循环的速度,所以一般情况我这样用 If GetInputState Then DoEv ...

  7. VB的doevents,制造多线程的效果

    这几天做一个vb的小程序,为了实现一些效果想使用多线程,发现vb多线程实在不好用,多进程也就是使用Activex exe还可以.本来都已经使用这个Activex技术做好了,今天突然想到,对于我这个程序 ...

  8. Application.DoEvents可能不是线程安全的

    2019独角兽企业重金招聘Python工程师标准>>> 如果在UI的消息处理函数中进行较大量的计算或对界面进行操作,占用较长时间时可以在中间调用Application.DoEvent ...

  9. Doevents函数详解

    Doevents函数是一个很好用的函数,但很多人对它的用法不清楚或有误解.由于我在网上查到一篇关于此函数的用法,并添加了一些内容,不敢独享,特此献出.     其中有一个"控时循环和变速齿轮 ...

  10. DoEvents的用法

    注:摘自互联网 VB DoEvents用法 VB6.0 Windows98 我要实现一个类似Windows复制(移动)文件时的提示窗体,耗时很长,且要求中断后能继续未完成的操作,不知使用DoEvent ...

最新文章

  1. 服务器上安装运行fastqc
  2. 新款Linux版Skype迎来首次更新:提升稳定性,UX微调
  3. windows下编译zlib
  4. JAVA使用JDBC连接MySQL数据库
  5. 在小程序中将多个view居中显示
  6. 十六个字 一辈子学不完
  7. 服务框架及服务治理组件——业界调研
  8. 泰坦尼克号生存预测入门
  9. 刚刚!第七次人口普查出炉!男性比女性多3490万,老龄化进一步加深
  10. Git--生成公钥和私钥并添加gitlab访问权限
  11. 脑波控制机械手,双手打字也无法自证清白| Science Robotics
  12. 让没有连续TabOrder的Edit连续获得焦点 [精华]
  13. 【Unity】常用API和功能
  14. Android 百度地图经纬度精确位数,百度map定位 为什么经纬度是准确的 而在map上标注却偏离很远...
  15. Zotero如何更改字体大小
  16. C++ requires a type specifier for all declarations
  17. 一个描述二氧化硅的两体势能BKS
  18. mysql查询周数_MySQL如何获取一个指定日期所对应本年度的周数(WEEK函数)呢?
  19. QT编译出错解决 libQtCore.so: undefined reference to `QInotifyFileSystemWatcherEngine::create()'
  20. HTML5新特性浅谈

热门文章

  1. 数值计算之 梯度向量和梯度矩阵,雅可比矩阵,海森矩阵
  2. 对比线程,一个VCPU是什么
  3. android自动点击相应位置脚本,轻易连使用说明-自动连点器-安卓自动点击脚本 | MOS86...
  4. cissp认证考试指南_如何通过CISSP考试(信息安全认证)
  5. 共享hp无线扫描到计算机,共享HP / HP扫描仪的OpenWrt路由器
  6. 2021年下半年软件设计师考试下午题
  7. tableau制作中国地图(全)
  8. html 英文花体,七夕花体英文文案
  9. 首个步态识别框架开源了
  10. Python3 百度拾取坐标系统API的调用