2015-04-26 40 views
2

如何關閉MDI Chid窗體,當我想打開一個新窗體時。MDI Child form close on new open

在這種方式我打開他們兩個但我想關閉以前打開新的。

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 
+0

這裏沒有使用MDI如果您只想一個最大化的孩子遠點。使用MdiChildren屬性來查找活動的子窗口。 –

+0

@HansPassant我不知道我明白你想說什麼。你認爲我可以使用這個,而不需要像MDI Child形式一樣?我打開新的MDI表單時需要的所有信息(例如,點擊Dodaj它將關閉所有其他表單,然後打開新的MDI表單) –

+1

很明顯,不清楚爲什麼您在使用MdiChildren屬性時遇到問題。所以我們可以看到你在做什麼錯誤 –

回答

1

只需通過所有打開的MDI子窗體循環並關閉他們...

For Each f As Form In Me.MdiChildren 
    f.Close() 
Next