开发者社区> zting科技> 正文

经典问题 C#隐藏和显示窗体

简介:
+关注继续查看

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 -

本文转自火地晋博客园博客,原文链接:http://www.cnblogs.com/yelaiju/archive/2010/08/26/1808950.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C#编程学习19:mdi窗体中子窗体不能重复打开的三种实现方式
C#编程学习19:mdi窗体中子窗体不能重复打开的三种实现方式
75 0
Winform控件优化之实现无锯齿的圆角窗体(或任意图形的无锯齿丝滑的窗体或控件)【借助LayeredWindow】
在一般能搜到的所有实现圆角窗体的示例中,都有着惨不忍睹的锯齿...而借助于Layered Windows,是可以实现丝滑无锯齿效果的Form窗体的,其具体原理就是分层窗体....
136 0
Qml实用技巧:在可视元素之前半透明覆盖一个可视元素,阻止鼠标透(界面)传(防止点击到被遮挡的按钮)
Qml实用技巧:在可视元素之前半透明覆盖一个可视元素,阻止鼠标透(界面)传(防止点击到被遮挡的按钮)
278 0
[WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口
原文:[WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口                            [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口                                              周银辉 现象: 大家可以...
869 0
借用鼠标指定的对象实现动态显示和隐藏菜单
#p > li {             list-style-type:none;             float:left;             width:80px;             cursor:pointer;         }         .
557 0
MFC渐入渐出框实现方式二
类似360消息弹出框,实现方式一见http://blog.csdn.net/segen_jaa/article/details/7848598。 本文采用另外的API实现渐入渐出效果。 主要API:SetLayeredWindowAttributes。
753 0
winfrom 树形控件如何实现鼠标经过节点时光标颜色改变效果
  一、winform TreeView控件的实现方式。  ///         /// Handles the MouseMove event of the treeView1 control.
1016 0
可以拖动和隐藏的层,可以替代弹出窗口
test.html代码如下:   可以拖动和隐藏的层,可替代弹出窗口 isIE=document.
635 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载