我有一个WinForms应用程序,在某个时刻,它将执行一些需要几秒钟的计算。在此期间,我禁用了控件。此外,我想要显示一个弹出式窗口,这种‘块’的应用程序更明显。
为了做到这一点,我尝试在表单的顶部放置一个面板,但不知何故我无法在其中添加任何文本。例如,我放在那里的标签和ImageBoxes不知何故没有显示或在面板后面。
有什么建议我可以用一种快速简单的方式来实现这一点吗?我的意思是,不需要重新设计整个表单。
发布于 2011-08-09 22:59:41
没有显示在附加面板中的问题是,所有事情都发生在同一个线程中,但您的计算阻止了所有事情的出现,因为它们占用了线程。您应该考虑使用WinForms中的工具之一backgroundWorker。您应该将执行计算的函数调用抛到backgroundWorker的DoWork方法中,然后表单本身就可以在计算过程中继续工作。
有关示例,请参阅http://msdn.microsoft.com/en-us/library/cc221403%28v=vs.95%29.aspx
https://stackoverflow.com/questions/6997853
复制相似问题