Vb.net MDI子窗体在新打开时关闭
当我想打开一个新的MDI Chid表单时,如何关闭该表单Vb.net MDI子窗体在新打开时关闭,vb.net,Vb.net,当我想打开一个新的MDI Chid表单时,如何关闭该表单 Private Sub DostupniToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DostupniToolStripMenuItem.Click Dim frm As New FrmDostupniZaposlenici frm.MdiParent = Me
Private Sub DostupniToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DostupniToolStripMenuItem.Click
Dim frm As New FrmDostupniZaposlenici
frm.MdiParent = Me
frm.Show()
frm.WindowState = FormWindowState.Maximized
End Sub
Private Sub DodajToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DodajToolStripMenuItem.Click
Dim frm As New frmDodajZaposlenika
frm.MdiParent = Me
frm.Show()
frm.WindowState = FormWindowState.Maximized
End Sub
通过这种方式,我打开了两个,但我想在打开新的时关闭上一个
Private Sub DostupniToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DostupniToolStripMenuItem.Click
Dim frm As New FrmDostupniZaposlenici
frm.MdiParent = Me
frm.Show()
frm.WindowState = FormWindowState.Maximized
End Sub
Private Sub DodajToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DodajToolStripMenuItem.Click
Dim frm As New frmDodajZaposlenika
frm.MdiParent = Me
frm.Show()
frm.WindowState = FormWindowState.Maximized
End Sub
我有大约10个mdi子表单
编辑:
新代码。如何防止在窗体上打开窗体。示例我想在新窗体打开时关闭所有其他mdi窗体。
这样,如果我点击toolstrip中的4个按钮,我会打开4个表单。我不想那样。如果单击按钮3,我想关闭上一个表单并加载表单3
Private Sub DostupniToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DostupniToolStripMenuItem.Click
FrmDostupniZaposlenici.MdiParent = Me
FrmDostupniZaposlenici.Show()
FrmDostupniZaposlenici.WindowState = FormWindowState.Maximized
End Sub
Private Sub DodajToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DodajToolStripMenuItem.Click
frmDodajZaposlenika.MdiParent = Me
frmDodajZaposlenika.Show()
frmDodajZaposlenika.WindowState = FormWindowState.Maximized
End Sub
Private Sub IzmjeniToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IzmjeniToolStripMenuItem.Click
frmIzmjenaZaposlenika.MdiParent = Me
frmIzmjenaZaposlenika.Show()
frmIzmjenaZaposlenika.WindowState = FormWindowState.Maximized
End Sub
Private Sub ObrisiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ObrisiToolStripMenuItem.Click
frmObrisiZaposlenika.MdiParent = Me
frmObrisiZaposlenika.Show()
frmObrisiZaposlenika.WindowState = FormWindowState.Maximized
End Sub
只需在所有打开的MDI子窗体中循环并关闭它们
For Each f As Form In Me.MdiChildren
f.Close()
Next
要首先关闭打开的子窗体,请在声明子窗体后立即在菜单项的单击事件中输入以下代码
ActiveMdiChild.Close()
如果您只想要一个最大化的子对象,那么使用MDI没有多大意义。使用MdiChildren属性查找活动的子窗口。@HansPassant我不确定我是否理解你想说什么。你认为我不用MDI子表单就可以使用它吗?打开新MDI表单时所需的一切(例如,单击Dodaj它将关闭所有其他表单,然后打开新MDI表单)这很清楚,但不清楚的是您在使用MdiChildren属性时遇到问题的原因。请更新您的代码片段,以便我们看到您的错误。非常感谢您尝试帮助我,但不幸的是,我不明白您想说什么。我添加了完整的代码。是否有任何函数可以立即关闭所有MdiChildren表单。