日期:2014-05-18  浏览次数:20874 次

C#如何编程实现父子窗体
C#如何编程实现父子窗体
比方说有两个窗体: MainA001和BOO1HELP
MainA001是主窗体,而如何将这个BOO1HELP设置为子窗体,
能是实现关闭子窗体并不影响主窗体

------解决方案--------------------
C# code
BOO1HELP BOO1HELP1= new BOO1HELP();//在MainA001是主窗体里写
                BOO1HELP1.MdiParent = this;
                BOO1HELP1.Show();

------解决方案--------------------
BOO1HELP.ShowDialog();
------解决方案--------------------
Child.ShowDialog();
Child.Show(this);
------解决方案--------------------
设置MdiParent属性
------解决方案--------------------
this.MdiParent=true;

------解决方案--------------------
父窗体
this.MdiParent=true;

子窗体
构造函数: 
public child(Form Parent){
this.MdiParent = Parent;
}

/////////
chaild ch = new child(this);
.........
------解决方案--------------------
父窗体
 
public partial class frmContainer : Form
{
public frmContainer()
{
InitializeComponent();

MdiBasic.frmChild child = new MdiBasic.frmChild(this);

child.Show();
}

}

子窗体
public partial class frmChild : Form
{
public frmChild(frmContainer parent)
{
InitializeComponent();


this.MdiParent = parent;
}
private void InitializeComponent()
{
..........
this.IsMdiContainer = true;
}

}
------解决方案--------------------
父窗体
  
public partial class formParent : Form
{
public formContainer()
{
InitializeComponent();

formChild child = new formChild(this);

child.Show();
}

}

子窗体
public partial class formChild : Form
{
public frmChild(formParent parent)
{
InitializeComponent();

this.IsMdiContainer = true;
this.MdiParent = parent;
}

}
------解决方案--------------------
探讨

父窗体

public partial class formParent : Form
{
public formContainer()
{
InitializeComponent();

formChild child = new formChild(this);

child.Show();
}

……

------解决方案--------------------
探讨

父窗体

public partial class formParent : Form
{
public formContainer()
{
InitializeComponent();

formChild child = new formChild(this);

child.Show();
}

……

------解决方案--------------------
探讨

你呀,太给力了呀,
不研究出这个,也太对不起你了呀,对吧
可是我调试还是有点问题呀????

------解决方案--------------------
首先父窗体的IsMdiParent设置为true,下面你可以用两种方法
一是在父窗体里实例化子窗体,并将子窗体的属性MdiParent设置为父窗体,子窗体实例调用show(),或者showDialog(),
第二种是将父窗体实例传进子窗体的构造函数,在构造函数里实现将子窗体的属性MdiParent设置为父窗体,子窗体实例调用show(),或者showDialog()。
方法很多的。看个人习惯。子窗体关闭可以用Close()函数,不会影响父窗体,Exit()函数是退出程序,如果想全部关闭可以用Exit()
------解决方案--------------------