热点推荐

查看: 1144|回复: 0
收起左侧

[已解决] 怎么停止C#Application.DoEvents();呀,急求

[复制链接]
  • TA的每日心情
    萌萌
    前天 21:05
  • 签到天数: 328 天

    连续签到: 3 天

    [LV.8]以坛为家I

    88

    主题

    378

    帖子

    2148

    积分

    Rank: 9

    积分
    2148

    热心会员突出贡献优质会员最佳新人

    发表于 2016-9-28 22:40:17 | 显示全部楼层 |阅读模式

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    visual Studio里的摘要:处理当前在消息队列中的所有 Windows 消息。

    交出CPU控制权,让系统可以处理队列中的所有Windows消息
    比如在大运算量循环内,加Application.DoEvents可以防止界面停止响应

    因为winform的消息循环是一个线程来处理,那么假如你的某个操作比较耗时,那么消息处理得等你这个耗时操作做完了才能继续,而Application.DoEvents方法就是允许你在耗时操作的内部调用它,而去处理消息队列中的消息。

    像鼠标移动鼠标点击都是windows消息,如果耗时操作一直进行,那么界面就像死锁一样。
    1. while (true)
    2. {
    3.       Application.DoEvents();
    4. }
    复制代码

    //条件OK,退出循环
    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    经营性网站备案信息 经营性网站
    备案信息

    中国互联网举报中心 中国互联网
    举报中心

    中国文明网传播文明 中国文明网
    传播文明

    诚信网站

    深圳市市场监督管理局企业主体身份公示 工商网监
    电子标识