各位好
我目前在用vb.net作開發
並且希望會有「爺(form1)、父(form2)、子(form3)」這樣的三層form的關係
我有將form1與form2的isMdiContainer屬性設為true
form1中會有button1,form2中會有button2
其對應的程式碼如下:
Public Class form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim form As New form2
form.MdiParent = Me
form.Show()
End Sub
End Class
Public Class form2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim form As New form3
form.MdiParent = Me.MdiParent
form.Show()
End Sub
End Class
結果系統反饋說「表單不能同時為 MDI 子視窗與 MDI 父視窗。」
請問我這構想是可行的嗎?又該如何排除這個問題呢?
還請版上的高手們指點一下,謝謝
我自己測試結果不可行
form2 會顯示MDI 容器表單必須為最上層
似乎最多form1->from2
表單不能同時為 MDI 子視窗與 MDI 父視窗
這問題是form2.isMdiContainer=true
希望會有「爺(form1)、父(form2)、子(form3)」這樣的三層form的關係
但「表單不能同時為 MDI 子視窗與 MDI 父視窗。」
解決不了只好繞過去
改用TabControl控制項
'form1 爺視窗
Public Class Form1
'按鈕事件,點擊按鈕會打開form2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim form2 As New Form2
form2.Show() '打開form2
End Sub
End Class
'form2 父視窗
Public Class Form2
'按鈕事件,點擊按鈕會打開form3
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim form3 As New Form3
'將form3顯示在TabControl1中
Dim tabPage As New TabPage()
tabPage.Controls.Add(form3)
tabPage.Text = "form3"
TabControl1.TabPages.Add(tabPage)
form3.Dock = DockStyle.Fill '讓form3填滿tabpage
form3.Show() '顯示form3
End Sub
End Class
'form3 子視窗
Public Class Form3
'你可以在這個form中添加其他的控制項或功能
End Class