如果我使用以下代码使用子菜单选项打开表单 B ,我的MdiParent
表单具有Menu
并且Submenu
父表单是说表单 A
B addbill = new B();
B.Show();
B.MdiParent = this;
它打开Form B作为Form A的子级。现在我想在单击表单 B 上的按钮后从表单B打开表单 C,表单 B将关闭,表单 C将作为表单 A 的子项 再次打开,然后单击表单 C 上的按钮,表单C将关闭,表单 B将以表格 A的形式打开
那么我该怎么做呢?
在 FormB 按钮单击事件上编写以下代码:
FormC fc=new FormC();
fc.MdiParent=this.MdiParent;
fc.Show();
并在 FormC 加载事件中编写以下代码:
FormB fb=new FormB();
fb.Hide();
fb.Close();
在 Form B 按钮单击调用 Form C 的位置,您必须将 FormB 的 MdiParent 分配给 FormC 的 MdiParent,即 FormA。之后,您可以关闭 FormB。
//FormB按钮点击
private void button1_Click(object sender, EventArgs e)
{
FormC frm = new FormC();
frm.MdiParent = this.MdiParent; // assign MdiParent of FormB to FormC
frm.Show();
this.Close();
}
在 B 关闭之前:
C.MdiParent = B.MdiParent; // which is pointing to A
private void button1_Click(object sender, EventArgs e)
{
Analysis an = new Analysis();//on login click open anothe form on same perrent
an.MdiParent = this.MdiParent;
an.Show();
}
它的工作..试试这个代码
private void btCountSale_Click(object sender, EventArgs e)
{
bool exist = false;
foreach (Form f in Application.OpenForms)
{
if (f.Name== "frmCounterSale")
{
exist = true;
f.BringToFront();
break;
}
}
if (exist == false)
{
frmCounterSale fm = new frmCounterSale();
fm.MdiParent = this.MdiParent;
fm.Show();
}
}
它的工作..试试这个代码
private void btCountSale_Click(object sender, EventArgs e)
{
bool exist = false;
foreach (Form f in Application.OpenForms)
{
if (f.Text == "Counter Sale")
{
exist = true;
f.BringToFront();
break;
}
}
if (exist == false)
{
frmCounterSale fm = new frmCounterSale();
fm.MdiParent = this.MdiParent;
fm.Show();
}
}