为了账号安全,请及时绑定邮箱和手机立即绑定

System.Windows.Threading.Dispatcher和WinForms?

System.Windows.Threading.Dispatcher和WinForms?

侃侃尔雅 2019-11-04 10:57:42
是否System.Windows.Threading.Dispatcher可以在WinForms应用程序的UI线程上工作?如果是,为什么?它来自WindowsBase.dll,它似乎是一个WPF组件。如果没有,如何将工作单元重新调用到UI线程上?我已经找到了Control.BeginInvoke(),但是创建一个仅引用原始线程的控件似乎很笨拙。
查看完整描述

3 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

Dispatcher是WPF组件,而不是WinForms组件。

如果要在UI线程上分派工作项,则必须使用已经发现的Control.BeginInvoke,或对线程之间的ResetEvents / WaitObjects做出反应。

通常,除非是UI工作(即更新控件的内容等),否则在UI线程上调用工作项是一件坏事,在这种情况下,Control.BeginInvoke()就足够了。


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 1302 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信