在主窗体Frmmain中打开子窗体Frm1,Frm2,Frm3。如何实现以下功能:
点主窗体上的button1时,关闭当前已经打开的子窗体,并打开Frm1;
如果点的是button2,先关闭当前已经打开的子窗体,并打开Frm2;
如果点的是button3,先关闭当前已经打开的子窗体,并打开Frm3;
备注:子Form很多。
我在delphi中是用指针来实现的,先定义了一个指针,然后每打开一个Form就给这个指针赋值,当跳转的时候先判断这个指针是否为空,不为空的话就关闭这个Form。
//先关闭所有的窗体
private void CloseAllForm()
{
foreach(System.Windows.Forms.Form form in this.MdiChildren)
{
if(form != null)
{
form.Close();
form.Dispose();
}
}
}
//然后再SHOW你想要的窗体
和delphi一样的,也可以订一个object来复值
看看这篇文章对你可能有帮助http://www.microsoft.com/china/community/Column/1.mspx
顶!
我再接上
private void button1_Click(object sender, System.EventArgs e)
{
CloseAllForm();
Frm1 form = new Frm1();
form.Show();
}
其他几个按钮再照样写上事件就行了
MDI编! 或者对你的子窗体建立一个索引 点BUTTON的时候就关闭对应的窗体
mdi开发
或者arraylist记录这些打开过的窗体
xiaohutushen(xiaohutushen) 大侠正解