Winforms:在已打开的模态对话框中打开第二个模态对话框

3

我有一个打开的模态对话框,然后从这个对话框中再次打开一个模态对话框(使用ShowDialog)。问题是现在父级模态对话框未被锁定,当我点击第二个模态对话框时,它会移动到后台。 当我关闭第一个模态对话框时,第二个模态对话框仍然留在桌面上。如何防止这种行为或者这种情况的问题是什么?


1
这不是 ShowDialog 应该工作的方式。您能够粘贴一下展示问题的代码部分吗? - Tim Robinson
1个回答

6

请确保已设置对话框的Owner属性。这将告诉WinForms/Win32在新窗口变为模态时禁用哪个窗口。可以像这样执行:

secondDialog.Owner = firstDialog;
secondDialog.ShowDialog()

或者,尝试调用secondDialog.ShowDialog(firstDialog),这应该会为您设置所有者链。


1
+1 你几乎总是应该向 ShowDialog 方法传递一个 owner 参数。 - Tim Robinson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接