如何將一個窗體顯示到一個容器控件中,剛開始想的比較簡單,用窗體容器控件添加一般控件的方法,試了一試,代碼如下:
Form2 frm = new Form2(); this.panel1.Controls.Add(frm); frm.Show();
但是提示了一個錯誤:無法將頂級控件添加到控件。
原來窗體是一個頂級控件,是無法將一個頂級控件添加到一個容器中來的。最后在網上找了相關資料,只需要將代碼改下即可,還是原來的思路,代碼如下:
Form2 frm = new Form2();
frm.TopLevel = false;
frm.Dock = DockStyle.Fill;
//或者是 this.panel1.Controls.Add(frm);
frm.Parent = this.panel1;
frm.Show();
這就實現了容器控件中添加窗體,效果如下:

其實還有一種方式,就是利用子窗體和父窗體(IsMdiContainer)屬性也能成,這個要自己去控制好坐標。
