[英]How to show(Bringtofront) an already opened Mdi child form from another Mdi child form?
在我的应用程序中,我有4个表单,form1是一个mdi容器,其余表单是它的子容器,在form1中,我正在其load事件中打开所有子表单。 在子form2中,我有一个将切换到childform3的按钮。我的问题是如何从childform2中的按钮显示childform3(已打开)
form1:
Form2 formchild1;
Form3 formchild2;
Form4 formchild3;
private void Form1_Load(object sender, EventArgs e)
{
if (formchild2 == null)
{
formchild2 = new Form3();
}
formchild2.MdiParent = this;
formchild2.Dock = DockStyle.Fill;
formchild2.Show();
//formchild2.BringToFront();
if (formchild3 == null)
{
formchild3 = new Form4();
}
formchild3.MdiParent = this;
formchild3.Dock = DockStyle.Fill;
formchild3.Show();
if (formchild1 == null)
{
formchild1 = new Form2();
}
formchild1.MdiParent = this;
formchild1.Show();
formchild1.Dock = DockStyle.Fill;
formchild1.BringToFront();
}
form2:
Form3 formchild2;
private void button1_Click(object sender, EventArgs e)
{
//what i have to write hare..
//formchild2 = new Form3();
//formchild2.MdiParent = this.ParentForm;
//formchild2.Dock = DockStyle.Fill;
//formchild2.Show();
//formchild2.BringToFront();
}
创建form2时(请更改变量名,花了一段时间才发现formchild1实际上是form2),您需要实例化form2实例。
if (formchild1 == null)
{
formchild1 = new Form2(/*Either pass in a Form3 here*/);
}
formchild1.formChild2 = formchild2; //Or make formChild2 public member
formchlid1.SetForm(formChild2); //Or make a method that sets it
formchild1.MdiParent = this;
formchild1.Show();
formchild1.Dock = DockStyle.Fill;
formchild1.BringToFront();
然后再次显示它,你可以做
formchild2.BringToFront();
childform3 childform3=new childform3;
private void button1_Click(object sender, EventArgs e)
{
if (!childform3.IsDisposed)
childform3.Select();
else
childform3= new frmSearch();
childform3.MdiParent = ParentForm;
childform3.Show();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.