我有一个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子级。

希望这会有所帮助!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top