我有四张表格。 Form1上,窗体2,Form3,Form4。 当我单击form1.panel1中的一个按钮时,form2将显示在form1.panel1中。 Form2还有一个面板和按钮。 在form2中单击按钮控件时,form3出现在form2中包含的小面板中。我通过以下代码点击按钮/ p>来实现上述所有操作
panel1.Controls.Clear();
form2 f2 = new form2();
f2.TopLevel = false;
panel1.Controls.Add(f2);
f2.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
panel1.Location = new Point(this.ClientSize.Width / 2 - panel1.Size.Width / 2, this.ClientSize.Height / 2 - panel1.Size.Height / 2);
panel1.Anchor = AnchorStyles.None;
panel1.Dock = DockStyle.Fill;
f2.Show();
我想要实现的是当我点击form3(出现在form2的子面板中)时,form4应该出现在parentpanel中(比如form1.panel1)
我使用下面的代码,但不显示表单。
Form4 f4 = new Form4();
Form1 f1 = new Form1();
f4.TopLevel = false;
f1.panel1.Controls.Clear();
f1.panel1.Controls.Add(f4);
f4.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
f1.panel1.Location = new Point(this.ClientSize.Width / 2 - f1.panel1.Size.Width / 2, this.ClientSize.Height / 2 - f1.panel1.Size.Height / 2);
f1.panel1.Anchor = AnchorStyles.None;
f1.panel1.Dock = DockStyle.Fill;
this.Hide();
f4.Show();
我如何实现它?
答案 0 :(得分:0)
您现在正在做的是,您正在form1
中创建form3
的新实例。您要做的是将f1
(使用this
中的form1
)作为form1
至form2
至form3
的参数传递,如何以其他形式访问原始form1
。
可能有更好的解决方案,但这是我现在能想到的。希望它有所帮助。