C#隐藏和显示窗体

来源:百度知道 编辑:UC知道 时间:2024/06/16 11:35:07
Main方法启动窗体A,现在点击窗体A的一个按钮,打开窗体B,这时窗体A隐藏。当关闭窗体B时,窗体A再显示出来!
我只知道隐藏是this.Visible = false;那么如何当窗体B关闭时自动执行this.Visible = true;呢?
请“314674839”说明白,怎么写?
“ kyhx123”说的a.high确实可以隐藏当前窗体,但是至于显示刚才隐藏的那个窗体不明白应该写在什么地方?
“cnfczn”写的方法没看明白哎...俺是初入C#
“flag5”写的方法确实已经实现我的要求,想问下this.DialogResult他在B窗体赋值可以在A窗体里使用?它的值不会因为当前窗体已经死亡而销毁?还是另有他因?麻烦帮忙解说下,谢谢!

1、第一种解法:

由窗体A自己控制是否隐葳。在按钮事件中加如下代码。

this.Visible = false;

Form2 f2 = new Form2();

f2.ShowDialog(); //此处不可用f2.Show();

this.Visible = true; //form2关闭后,会执行到本语句

2、第二种解法:

由窗体B控制A是否隐葳。

这就要求Form1将自己作为参数传给Form2,由Form2执行控制。

在Form2中定义新的显示方法。

from fm = null;    //用于存放Form1变量

public void ShowMe(Form f)

{

fm = f;

fm.Visible = false;  //把Form1隐藏

Show();

}

在Form2的FormClose事件中加入代码。

fm.Visible = true;  //让Form1显示

最后是Form1的按钮事件中的代码。

Form2 f2 = new Form2();

f2.ShowMe(this);