我现在有这样的程序,cs 架构的,有form1,form2,form3,form4 4个窗体,主窗体是form1,程序打开form1后点击上面按钮打开form2 ,隐藏form1, 在form2上点击一个按钮后打开form3,隐藏form2 ,form3也是一样道理,每个窗体都可以点击相应窗体下的按钮直接返回form1.因为某个接口的特殊性,不能每次打开窗体都
form2 fr2 = new form2() 这样来一下,不知道有什么好的方法,最好有个简单的举例.
form2 fr2 = new form2() 这样来一下,不知道有什么好的方法,最好有个简单的举例.
void open()
{
fr2.Show();
}
void close()
{
fr2.Hide();
}
//在Form1里声明类成员
Form2 form2;//在button_click事件里写入以下代码
if(form2!=null)
{
this.hide();
form2.Show();
}
else
{
this.hide();
form2=new Form2();
form2.Show();
}
这样只需要第一次打开的时候New一次就可以了,在form2里返回form1的时候不要关闭form2,隐藏就可以
{
public Form1()
{
InitializeComponent();
}
Form2 f2 = null;
private void Form1_Load(object sender, EventArgs e)
{
f2 = new Form2(this);
} private void button1_Click(object sender, EventArgs e)
{
if (f2.IsDisposed)
{
/*有多个的话,根据条件判断是生成哪个form*/
f2 = new Form2(this);
}
f2.Show();
this.Hide();
} }
Form2public partial class Form2 : Form
{
Form1 f1 = null;
public Form2(Form1 _f1)
{
InitializeComponent();
f1 = _f1;
} private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
f1.Show();
this.Hide();
}
}