各位高手...
现有两个窗体...如何将FORM2中的所有控件加载到FORM1中的Panel1中呢....?
我用 Form2 frm= new Form2();
foreach (Control er in frm.Controls)
{
this.Panel1.Controls.Add(er);
}
怎么会发生有部分控件丢失的现象呢...?谢谢...
现有两个窗体...如何将FORM2中的所有控件加载到FORM1中的Panel1中呢....?
我用 Form2 frm= new Form2();
foreach (Control er in frm.Controls)
{
this.Panel1.Controls.Add(er);
}
怎么会发生有部分控件丢失的现象呢...?谢谢...
frm.TopLevel = false;
frm.Parent = this.panel1;
frm.SetBounds(0,0,this.panel1.Width, this.panel1.Height);
frm.Show();这样就行了。
private void AddControl(Control containCtrl)
{
foreach (Control ctrl in containCtrl.Controls)
{
this.Panel1.Controls.Add(ctrl);
AddControl(ctrl);
}
}
一。建三个窗体FORM1,FORM2,FORM3
二。在FORM1上放一下PANEL和一个BUTTON1
三。把FORM2和FORM3的formBorderstyle=NONE;
四。把FORM2,FROM3的大小设为与FORM1中的Panel1的大小一样大
五。定义一个方法
void showform(Form rightfrom)
{
rightfrom.FormBorderStyle = FormBorderStyle.None;
rightfrom.TopLevel = false;
panel1.Controls.Add(rightfrom);
rightfrom.Show();
}
六。在BUTTONCLICK事件中加入
Form2 frm = new Form2();
showform(frm);
想加什么窗体就加什么窗体