我有一个 WinForms 应用程序,在某些时候,它会执行一些需要几秒钟的计算。在此期间,我禁用了控件。此外,我想显示一个弹出窗口,更明显地“阻止”应用程序。
我尝试在表单顶部放置一个面板来执行此操作,但不知何故我无法向其中添加任何文本。 IE。我放在那里的标签和图像框不知何故没有显示或位于面板后面。
有什么建议可以让我快速轻松地实现这一目标吗? ..我的意思是,无需重新设计整个表单。
最佳答案
您的附加面板中未显示的内容的问题是,所有内容都在同一个线程中发生,但您的计算阻止了所有内容的显示,因为它们占用了线程。您应该考虑使用backgroundWorker,它是WinForms 中的工具之一。您应该将执行计算的函数调用放入backgroundWorker的DoWork方法中,然后表单本身可以在计算期间继续运行。
参见http://msdn.microsoft.com/en-us/library/cc221403%28v=vs.95%29.aspx例如
关于c# - WinForms:寻找一种简单的方法来弹出 'Processing..' 面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6997853/