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

本文关键字:面板 方法 Processing 寻找 简单 一种 WinForms | 更新日期: 2023-09-27 18:05:13

我有一个WinForms应用程序,在某些时候,将做一些计算需要几秒钟。在此期间,我禁用了控制。另外,我想显示一个弹出窗口,这种弹出窗口可以更明显地"阻止"应用程序。

我试着在表单的顶部放置一个面板,但是我无法添加任何文本到它。也就是说,我放在那里的标签和imagebox不知何故没有显示或在面板后面。

有什么建议我可以实现这在一个快速和简单的方式?. .我的意思是,不用重新设计整个表单

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

您的问题与事情没有显示在您的额外面板是,一切都发生在同一个线程,但你的计算是阻止一切出现,因为他们占用线程。你应该考虑使用backgroundWorker,这是WinForms中的一个工具。你应该把执行计算的函数调用扔到backgroundWorker的DoWork方法中,然后表单本身可以在计算期间继续工作。

示例见http://msdn.microsoft.com/en-us/library/cc221403%28v=vs.95%29.aspx

创建一个在处理过程中弹出的对话框(windows窗体),然后您可以在处理完成后关闭对话框。

通过使用对话框而不是消息框,您仍然可以在处理完成时控制关闭窗口。

您可以创建一个简单的UserControl,只有一个Label和一个ImageBox,也许为它们的值使用公共setter。您可以将其添加到表单中,并将其可见属性设置为false。然后你可以让它在你的计算过程中可见,最后回到顶部不可见