Form1中有三个panel。{ panel1 ,panel2 ,panel3 } 另外有两个窗体 Form2 ,Form3 。panel1 中有个button1。目的让Form2显示在panel2中。Form2 中有 button2 。目的让Form3显示在panel3中
panel1 中有个button1下代码:
Form2 form2 = new Form2(); form2 .TopLevel = false; form2 .Parent = form1.Panel2; form2 .Dock = DockStyle.Fill;
splitContainer1.Panel2.Controls.Add(form2 );
form2 .Show();
点击panel1 中button1,Form2 能显示在panel2中,同样意义的代码,设断点代码也是执行的 !!为什么点击Form2 中button2,Form3不能显示在panel3
中????????????????????????谢谢啦············郁闷好几天了
panel1 中有个button1下代码:
Form2 form2 = new Form2(); form2 .TopLevel = false; form2 .Parent = form1.Panel2; form2 .Dock = DockStyle.Fill;
splitContainer1.Panel2.Controls.Add(form2 );
form2 .Show();
点击panel1 中button1,Form2 能显示在panel2中,同样意义的代码,设断点代码也是执行的 !!为什么点击Form2 中button2,Form3不能显示在panel3
中????????????????????????谢谢啦············郁闷好几天了
点击button2的时候你是在Form2操作的,但是你要显示的却要在Form1中的panel3中显示,这就有问题了,计算机此时只会在Form2中招panel3,但是找不到,当然如果你把panel3房在Form2中应该就没问题
点击button2的时候你是在Form2操作的,但是你要显示的却要在Form1中的panel3中显示,这就有问题了,计算机此时只会在Form2中招panel3,但是找不到,当然如果你把panel3房在Form2中应该就没问题/
谢谢!!!!!!能不能panel3就放在Form1中呢???
splitContainer1.Panel2.Controls.Add(form3 );我的意思是,Panel2 中添加了 FROM3 !它肯定不会显示在 3 里面。那么代码也肯定执行,你在看下。这种情况大多都是出在 今代码复制时!
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.TopLevel = false;
panel2.Controls.Add(f2);
f2.OnClickButton += new EventHandler<EventArgs>(f2_OnClickButton);
f2.Show();
} void f2_OnClickButton(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.TopLevel = false;
panel3.Controls.Add(f3);
f3.Show();
}
}
Form2:代码 public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
} public event EventHandler<EventArgs> OnClickButton; private void button2_Click(object sender, EventArgs e)
{
if (OnClickButton != null)
{
OnClickButton(sender, e);
}
}
}
//就这么多................
Form1代码: Form1上放了3个panel public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.TopLevel = false;
f2.MyPanel3 = this.panel3; //注意这里
panel2.Controls.Add(f2);
f2.Show();
}
}
Form2代码: public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
} //添加一个属性
public Panel MyPanel3
{
get;
set;
} private void button1_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.TopLevel = false;
f3.Dock = DockStyle.Fill;
MyPanel3.Controls.Add(f3);
f3.Show();
}
}