从 ShowDialog 窗体设置 MdiParent
Set MdiParent from a ShowDialog form
我有一个表单,frmEmail
,它使用 f.ShowDialog
调用(其中 f 是 frmEmail
的一个实例)。
如何在关闭表单时打开 frmOrder
的实例但设置 fOrder.MdiParent = frmMain
?
frmMain
是我的 MDI 窗体,frmOrder
是我需要打开的窗体,frmEmail
是我打开它的窗体。
我现在的密码是
revoke = True
Dim f As New frmOrder(con, False, False, , orderNum)
f.MdiParent = ' Not sure what to put here?
f.Show()
Me.Close()
我是否需要传入存储对 frmMain
的引用的变量?还有其他方法吗?
显然我不能使用 f.MdiParent = Me.MdiParent
,因为正如我之前提到的,frmEmail
是使用 f.ShowDialog
打开的,所以没有 MdiParent
.
您仍然可以在 ShowDialog
中打开表单并设置 "Owner" 属性。
在您打开 frmEmail
的位置,而不是像使用 f.ShowDialog()
那样打开它,使用 f.ShowDialog(Me.MdiParent)
(如果您的 MDI 窗体是您打开 frmEmail
,否则只需根据相关情况对其进行调整)。
这样,当打开 frmOrder
时,您将 MdiParent
属性 设置为 frmEmail
的所有者 属性。
Dim f As New frmOrder(con, False, False, , orderNum)
f.MdiParent = Me.Owner
f.Show()
我有一个表单,frmEmail
,它使用 f.ShowDialog
调用(其中 f 是 frmEmail
的一个实例)。
如何在关闭表单时打开 frmOrder
的实例但设置 fOrder.MdiParent = frmMain
?
frmMain
是我的 MDI 窗体,frmOrder
是我需要打开的窗体,frmEmail
是我打开它的窗体。
我现在的密码是
revoke = True
Dim f As New frmOrder(con, False, False, , orderNum)
f.MdiParent = ' Not sure what to put here?
f.Show()
Me.Close()
我是否需要传入存储对 frmMain
的引用的变量?还有其他方法吗?
显然我不能使用 f.MdiParent = Me.MdiParent
,因为正如我之前提到的,frmEmail
是使用 f.ShowDialog
打开的,所以没有 MdiParent
.
您仍然可以在 ShowDialog
中打开表单并设置 "Owner" 属性。
在您打开 frmEmail
的位置,而不是像使用 f.ShowDialog()
那样打开它,使用 f.ShowDialog(Me.MdiParent)
(如果您的 MDI 窗体是您打开 frmEmail
,否则只需根据相关情况对其进行调整)。
这样,当打开 frmOrder
时,您将 MdiParent
属性 设置为 frmEmail
的所有者 属性。
Dim f As New frmOrder(con, False, False, , orderNum)
f.MdiParent = Me.Owner
f.Show()