Win表单应用程序未更新标签

本文关键字:更新 标签 应用程序 表单 Win | 更新日期: 2023-09-27 18:35:35

我目前正在用C#编写一个应用程序,用于处理一些XML等。一些 XML 文档可能非常大,因此我添加了一个标签,向用户显示字符仍在处理中,并且应用程序仍在运行。

实际的XML构建在不同的线程中运行,但XMLInProg和charsProcessing是类变量,主线程可以看到并使用它们来更新GUI。

出于某种奇怪的原因,每当我收到与更新一起弹出的消息框时,我才能更新状态标签。谁能解释为什么?

谢谢。

这行不通...

while (XMLInProg)
        {
            status.Text = "Building XML... " + charsProcessed + " characters processed";
        }

但这将起作用

 while (XMLInProg)
        {
            MessageBox.Show("Works now");
            status.Text = "Building XML... " + charsProcessed + " characters processed";
        }

Win表单应用程序未更新标签

调用标签上的刷新方法(在循环内):

status.Refresh()