是否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
提交
取消