在我的.NET应用程序中,如果某些任务需要一段时间才能告诉用户程序仍然有效,则显示带有“请稍候”消息的窗体。这个表单必须在自己的线程中运行,因为主线程是工作的人员,因此很忙。 I read that one can use Form.Owner
for this task,但我认为这不适用于表单在不同线程上运行。如何使窗体停留在另一个上面
问题是,等待窗体可以隐藏在主窗体后面,在这种情况下,用户看不到它,并且无法将它带到前面,因为它没有任务栏按钮(它是一个“没有一个)。
我的问题是,如果可以让等待窗体保持在主窗体上方而不使其成为AlwaysOnTop窗体(它将停留在所有窗口之上)?
当然,你会得到一个IllegalOperationException。有很多方法可以解决这个问题,但是你可以弄清楚[你的程序为什么会死机](http://blogs.msdn.com/b/dsui_team/archive/2012/10/31/debugging-windows-forms- application-hangs-during-systemevents.userpreferencechanged.aspx),可以在显示该窗口后的*小时*。这是为了吓唬你。使用工作线程执行工作,使用UI线程来显示UI,并且不会有问题。 – 2014-11-23 22:17:18