我的应用程序严重依赖线程来处理超大型数据的复杂处理。随着处理完成,UI需要更新。我知道并尝试使用BackgroundWorker's
OnProgressChanged
和RunWorkerCompleted
方法来更新UI。还使用UI线程的Invoke
方法进行更新。在Win XP 32位和64位操作系统上似乎一切正常。在Win Vista和Win 7(32和64位)上,通过使用Invoke
方法更新UI时,应用程序会随机挂起。从C#中的线程更新UI的其他方法
Invoke
的行为在不同的Win OS上有变化吗? 除Invoke
之外,还有哪些更新线程的UI的方法?
感谢
我的假设是,在不同的操作系统和环境中,更新UI只是需要更长的时间。 – RQDQ 2012-03-22 15:21:36
我不认为这个问题是新的操作系统 - 我的猜测是,新机器只是更快/有更多的核心(所以并发问题可能会更早到达),或者你只是幸运 - 无论如何:没有代码我不' t认为我们可以帮你 – Carsten 2012-03-22 15:21:52
应用程序不响应,或不刷新本身? – 2012-03-22 15:30:30