无法在Windows窗体中更新UI

时间:2014-01-02 06:05:35

标签: winforms user-interface thread-safety

我有一个窗口表单,其中我使用委托显示了许多图像。当一个事件被触发时,我需要删除图像并放置标签,表示图像未显示。我创建了新的线程来更新UI。我的问题是8个图像,我的事件被称为8次。但标签仅适用于4或5个标签。任何人都可以帮我解决这个错误吗?或者建议任何新的方法吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

我也遇到了类似的问题,最简单的解决方案是在每个流程之间添加Thread.Sleep(10)

因此,在您的情况下,您将在每次图像更新之间添加Thread.Sleep(10)。你想尝试其他值,我从50开始,但发现10具有相同的效果。

我知道它会增加你的应用程序运行时间,但对于像你这样的小处理它是公平的(只有80毫秒)。

答案 1 :(得分:0)

我找到了解决方案。当我写下label.bringtofront()时,它确实解决了我的问题。现在它已经出现在所有标签中。