我有一个需要显示对话框的MDIChild表单。我目前正在mdichild表单中这样做...
f.ShowDialog(Me)我应该使用f.ShowDialog(mdiparent)吗
在调用ShowDialog()之前设置所有者有什么区别
发布于 2009-02-11 15:22:17
不同之处在于哪个父级拥有对话框。如果您显式设置了父窗口,则该窗口将拥有该对话框。如果您没有设置它(使用ShowDialog的无参数版本),那么您的应用程序的当前活动窗口将拥有该对话框。这是MSDN上的,顺便说一句。
这在通过使用FormStartPosition.CenterParent枚举设置StartPosition属性使对话框居中时很有用。
发布于 2009-01-28 22:29:38
我不确定这是否相关,但我在ShowDialog中传递拥有表单时遇到了一些问题,我通常这样做:
f.Owner = Me
f.ShowDialog()发布于 2015-09-11 00:13:56
这确实很重要..。
我有一个调用ShowDialog(Me)的MDI子进程,在结果对话框窗口中,Me.Owner引用了MDI子进程,而不是MDI子进程。
使用Me.Owner.ActiveControl是一种解决方法,但使用:
       Dim ContractForm As New Contract(strType, intMode)
       ContractForm.Owner = Me
       dgrAction = ContractForm.ShowDialog()很好的理解了。在结果对话框窗口中,Me.Owner现在确实引用了MDI子对象。
希望这能有所帮助!
https://stackoverflow.com/questions/489281
复制相似问题