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

标签 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
        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 表单。 这样,如果我单击工具条中的 4 个按钮,我会打开 4 个表单。我不想要这样。如果我单击按钮 3,我想关闭之前的表单并加载 form3。

    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

关于vb.net - MDI 子窗体在新打开时关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29877125/

相关文章:

.NET 4.0 应用程序在没有 Visual Studio 的机器上抛出异常

C# 或 VB.NET : How to programatically change encoding format to UTF-8 of all text files in a given directory?

vb.net - 我如何在 VB.net 中编写这个 lambda 选择方法?

vb.net - 使用 GridView 和 LINQ 进行排序的最佳方法是什么?

asp.net - 无法加载文件或程序集 'DotNetOpenAuth.AspNet' 或其依赖项之一

c# - 谁负责检查空引用异常?

.net - 更改 ImageList 的 ImageSize 属性显示空白图像

asp.net - FindControl 如果从不同的类调用则不起作用

vb.net - 未使用的局部变量 (Visual Studio 2012)

vb.net - 无法获取组合框的选定值,返回空