隐藏窗体,打开窗体后如果想让它隐藏,然后再显示出来,就判断是不是NULL或者有没有关闭,不然就NEW一个出来,否则就SHOW出来。
当然如果有隐藏的话退出的时候最好用Application.Exit()来关闭程序。
Form fh;
private void button6_Click(object sender, EventArgs e)
{
if (fh == null || fh.IsDisposed)
{
Form9 f9 = new Form9();
fh = f9;
f9.Show();
}
else
{
fh.Show();
}
还有一种情况是打开子窗体时隐藏父窗体,关闭子窗体的时候显示父窗体,用别人的代码吧,我没有测试,应该意思差不多
使用模式对话框ShowDialog方式打开窗体B,当窗体B关闭时必然要返回一个DialogResult,默认为none,类似于openfiledialog和savefiledialog 在窗体A的按钮点击事件中写
Form2 form2 = new Form2();
this.Hide();
if (form2.ShowDialog() == DialogResult.OK)
{
this.Show();
}
在窗体B的关闭事件中写
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
this.DialogResult = DialogResult.OK;
}
如果你想通过窗体B的一个按钮来关闭窗体B,就可以在关闭按钮的点击事件中写
this.Close();
this.DialogResult = DialogResult.OK;