Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net MDI子窗体在新打开时关闭_Vb.net - Fatal编程技术网

Vb.net MDI子窗体在新打开时关闭

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

当我想打开一个新的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
        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表单。