我在我的.net应用程序中使用DataBindings,并且有地方,我从辅助线程更新一些UI值。所以,我需要调用主UI线程来执行GUI操作,没有例外。Dispatcher.Invoke模拟为.net 2.0
in .net 3 world我可以说Dispatcher.CurrentDispatcher.Invoke(()=>{ /* update UI here */});
但现在我只与.net 2.0一起工作。
在这些地方我无法访问任何GUI控件做Control.Invoke。 那么,如何安全地更新我的用户界面呢?
谢谢,这是有效的。我只是不确定,那是什么:)是第一个由应用程序创建的窗体吗?如果它已经被处理了呢? – Shaddix 2010-12-02 09:34:47
这些是目前开放的表单。它不一定是主要的形式。因此,如果您在除主UI线程之外的其他线程上创建新窗口,则可能会遇到问题。 – Botz3000 2010-12-02 10:04:43