标签: c# winforms
我编写了一个相对较大的应用程序,其中包含大量对话框和表单等。 我用Form.ShowDialog()打开它们。
Form.ShowDialog()
很多时候,表格在现有窗口后面打开,例如昨天我在一台打开了其他几个程序的机器上进行了测试:许多Windows资源管理器窗口,一些Excel窗口等等。很多我的表单,打开/保存文件对话框等应该打开但没有。我一直在拉着我的拇指,直到我按下alt + tab并意识到它们实际上是在另一个窗口后面。
为什么会发生这种情况,以后如何阻止它呢?感谢。
答案 0 :(得分:4)
使用ShowDialog覆盖,将所有者窗口作为参数。
ShowDialog
通过传入主窗口作为对话框的所有者,您可以保证对话框始终在其前面弹出,并保持在它前面。
如果他们使用其他应用程序,它不会惹恼用户。