编程之路

——火地晋

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

http://zhidao.baidu.com/question/82711899.html

C#隐藏和显示窗体

悬赏分:10 - 解决时间:2009-1-18 13:28
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窗体里使用?它的值不会因为当前窗体已经死亡而销毁?还是另有他因?麻烦帮忙解说下,谢谢!
提问者: 额_为何

最佳答案

使用模式对话框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; 

够清楚了吧! 

回答者: flag5 -

posted on 2010-08-26 12:14  火地晋  阅读(18056)  评论(1编辑  收藏  举报