我目前正在用C#编写一个处理某些XML的应用程序。一些XML文档可能非常大,所以我在标签中添加了一个标签,向用户显示字符仍在处理中,并且应用程序仍在运行。
实际的XML构建在不同的线程中运行,但XMLInProg和charsProcessed是主线程可以看到的类变量,并使用它们来更新GUI。
由于一些奇怪的原因,每当我得到一个消息框以及更新时,我只能更新状态标签。任何人都可以解释原因吗?
感谢。
这不起作用......
while (XMLInProg)
{
status.Text = "Building XML... " + charsProcessed + " characters processed";
}
但这会起作用
while (XMLInProg)
{
MessageBox.Show("Works now");
status.Text = "Building XML... " + charsProcessed + " characters processed";
}
答案 0 :(得分:2)
调用标签上的刷新方法(在循环内):
status.Refresh()