.net – 禁用Windows窗体上的所有事件
发布时间:2020-12-14 01:36:55 所属栏目:Windows 来源:网络整理
导读:有没有办法暂时禁用 Windows窗体上的所有事件? 我的情况是主线程上的事件损坏了辅助线程上的处理. (主线程事件正在修改数据绑定到辅助线程使用的变量的控件的内容.)寻找一种“锁定”表单的方法,直到辅助线程上的处理完成. (显然,将处理移动到主线程会这样做
有没有办法暂时禁用
Windows窗体上的所有事件?
我的情况是主线程上的事件损坏了辅助线程上的处理. (主线程事件正在修改数据绑定到辅助线程使用的变量的控件的内容.)寻找一种“锁定”表单的方法,直到辅助线程上的处理完成. (显然,将处理移动到主线程会这样做 – 但它也会“冻结”UI,这也不是我想要的.) 解决方法
一些不同的选项应该可以让你解决这个问题:
>禁用任何会触发非线程安全事件的控件, 我会选择第一个选项,可能还有将光标设置为沙漏和/或在状态栏中设置消息.它很简单,有效,并且不会导致实际UI冻结.我会避免第三种选择,因为它会“破坏”表单在其工作时的行为.第二种选择的功效取决于你如何实施它;它可以很容易地冻结UI,这是你不想做的事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |