c# - WinForms:寻找一种简单的方法来弹出 'Processing..' 面板

标签 c# winforms popup busyindicator

我有一个 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/

相关文章:

javascript - 类型错误:$ 不是函数(放大弹出窗口)

c# - 将可写 StringBuilder 数组从 C# 传递到 C++

javascript - 用于在电子邮件中使用星号替换索引的正则表达式

c# - 从 varchar 到 int 的转换失败,ado.net

c# - 带子项的 Windows 窗体控件

java - GWT 弹出面板是透明的?

c# - Encoding.Default 在 .NET 中如何工作?

c# - 如何在 C# 中将摄像头流数据存储在数组中

windows - 了解 SystemParametersInfo SPI_SETFOREGROUNDLOCKTIMEOUT

jquery - 如何制作带有发布数据的弹出窗口?