是否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()就足够了。
添加回答
举报
0/150
提交
取消