我有一个表单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。
发布于 2017-06-13 11:58:33
您仍然可以在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()https://stackoverflow.com/questions/44516701
复制相似问题