C#隐藏和显示窗体
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
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);
注:本题还有其它解决方式。如利用事件处理机制等。
扩展资料:
题中这种操作Form的方式,不要应用于实际项目中。
1、用户体验太差。
实际操作一下,就可以体会到这种方式的怪异。
也可以回想一下以前用过的所有软件,碰到过这种子窗口打开,父窗口隐葳,子窗口关闭,父窗口弹出的操作?
2、有更好的解决方式,可以处理上述问题。
可以使用向导类的处理方式。