Halcon视觉之家 - 51Halcon专注于机器视觉技术

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 292|回复: 1

[资料] WPF界面假死Thread.Sleep卡死的问题解决方法

[复制链接]
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 876 天

    连续签到: 3 天

    [LV.10]以坛为家III

    190

    主题

    940

    帖子

    5690

    积分

    Rank: 9

    积分
    5690

    热心会员突出贡献切换助手验证会员最佳新人

    发表于 2021-7-19 16:15:50 | 显示全部楼层 |阅读模式

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

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

    x
    在winform中用Application.DoEvents()可以解决,但是WPF没有.DoEvents()方法了,可以用如下代码代替:
    1. public static class DispatcherHelper
    2. {
    3.     [SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
    4.     public static void DoEvents()
    5.     {
    6.         DispatcherFrame frame = new DispatcherFrame();
    7.         Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, new DispatcherOperationCallback(ExitFrames), frame);
    8.         try { Dispatcher.PushFrame(frame); }
    9.         catch (InvalidOperationException) { }
    10.     }
    11.     private static object ExitFrames(object frame)
    12.     {
    13.         ((DispatcherFrame)frame).Continue = false;
    14.         return null;
    15.     }
    16. }
    复制代码

    然后添加一个函数
    1. public static void Delay(int mm)
    2.         {
    3.             DateTime current = DateTime.Now;
    4.             while (current.AddMilliseconds(mm) > DateTime.Now)
    5.             {
    6.                 DispatcherHelper.DoEvents();
    7.             }
    8.             return;
    9.         }
    复制代码

    然后把该用Thread.Sleep(xxx)的地方改成Delay(xxx) 即可。

    转自:https://blog.csdn.net/wnk1997/article/details/106103208
  • TA的每日心情
    郁闷
    2021-11-16 14:18
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    2

    主题

    23

    帖子

    40

    积分

    Rank: 1

    积分
    40

    切换助手验证会员

    发表于 2021-7-19 19:17:18 | 显示全部楼层
    给客户看看
    您需要登录后才可以回帖 登录 | 会员注册

    本版积分规则

    视觉培训招生

    建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用

    算子查询| 申请友链| 小黑屋| 手机版| Archiver|

    © 2015-2021 51Halcon机器视觉  X3.4  粤ICP备15095995号 粤公网安备44030602000670号

    快速回复 返回顶部 返回列表