如何在运行后续代码之前显示标签?

时间:2015-02-14 23:31:49

标签: c#

我有一个方法需要几秒钟才能完成。我希望在此期间看到标签,所以我使用了这段代码:

label.Visible = true;
method();
label.Visible = false;

当我运行此代码时,会出现标签的形状,但不会显示文字和颜色。如果我删除第三行代码,我可以看到只有在方法完成后标签才会完全可见。如何在方法开始之前使标签完全可见?

1 个答案:

答案 0 :(得分:1)

您可以致电label.Refresh()同步无效并重新标记标签。这是documentation。将Refresh置于设置Visibletrue之间并致电method

顺便提一下,如果method是一个长时间运行的操作(看起来似乎如此),您可能需要考虑在BackgroundWorker上运行它,以便GUI在操作期间保持响应。但这意味着将线程引入您的应用程序,这是相对复杂的,您可能只需重新绘制标签并让GUI冻结直到method完成。