在函数完成VB.NET之前,Label不显示任何文本

时间:2013-07-06 16:53:50

标签: vb.net download label

我有这段代码:http://pastebin.com/ECrKGp5y

当我点击一个调用此功能的按钮时,它必须显示一个标签,你可以在代码中看到..但是在功能没有完成之前,标签仍然是隐藏的。

该功能必须下载一些文件..所以这个功能持续......

2 个答案:

答案 0 :(得分:1)

当您在Windows窗体中调用方法时,它将在与窗体本身相同的线程中执行。因此,形式“冻结”直到方法结束。我们没有意识到当该方法只需几毫秒的运行时,但如果你必须在那里下载一些东西,我建议你使用线程。

响应式UI的一个好方法是将与UI相同的线程中的代码保持在最低限度。在您的情况下,您可能希望使用BackgroundWorker运行大部分逻辑,以便不阻止您的UI。然后,您可以在下载之前或之后更新标签的文本,而无需等待下载完成。

您可以谷歌获取有关如何使用该课程的一些教程。我建议一个:http://www.dotnetperls.com/backgroundworker

祝你好运,编码愉快。

答案 1 :(得分:0)

如果你使用 BackGroundWorker ,那就更好..但是如果你还在你的代码中,那么它主要用

完成
labelestado.Visible = True
Application.DoEvents()