如何从MDIChild表单内部正确显示ShowDialog()?
-
20-08-2019 - |
题
我有一个MDIChild表单,需要显示一个对话框。我目前正在从mdichild表单内部执行此操作... 通用标签
我应该使用f.ShowDialog(mdiparent)
吗?
在调用ShowDialog()
之前设置所有者时有什么区别?
解决方案
区别在于父级拥有对话框。如果显式设置了父级,则该窗口将拥有该对话框。如果未设置(使用ShowDialog的无参数版本),则应用程序的当前活动窗口将拥有该对话框。那是在 MSDN ,顺便说一句。
在有用的情况下,可以通过使用FormStartPosition.CenterParent枚举设置StartPosition属性来使对话框居中。
其他提示
我不确定这是否相关,但是我在ShowDialog中传递拥有表单时遇到了一些问题,我通常这样做: 通用标签
确实有所作为...
我有一个MDI子对象,它调用ShowDialog(Me),然后在出现的对话框窗口中,Me.Owner引用MDI容器,而不是MDI子对象。
使用Me.Owner.ActiveControl是一种解决方法,但是使用: 通用标签
很好地获得它。在出现的对话框窗口中,Me.Owner现在确实引用了MDI子级。
希望这会有所帮助!
不隶属于 StackOverflow