最近在做一个C# 的winform客户端程序,要实现在打开新的窗口时将原来打开的窗口关闭,但是想在关闭新打开的窗口是将原来的那个窗口再次打开,在网上查找各种资料,找了很多代码,都是通过窗口.Hide()和窗口.Show()方法实现的,但都没有实现我想要的功能,关闭新窗口打开原来的窗口时发现原来的窗口里面的所有数据都没有了,而且打开新窗口时原来的窗口不会显示出来。

通过网上查找资料和认真研读C# winform 方面相关的书籍发现,窗体有Visible属性,设置为true窗体将显示出来,现将具体代码粘贴如下:

打开新的窗体Form2时隐藏原来的窗体Form1

  Form2 fm = new Form2(this);

  this.Hide();//隐藏现在这个窗口
  fm.Show() ;//新窗口显现

关闭新的窗体Form2时显示原来的窗体Form1,

  public partial class Form2 : Form
  {
    private Form1 returnForm1 = null;
    public Form2(Form1 F1)
    {
      InitializeComponent();
      // 接受Form1对象
      this.returnForm1 = F1;
    }

  }

为Form2添加Form2_FormClosing事件

  private void Form2_FormClosing(object sender, FormClosingEventArgs e)
  {
    //恢复Form1
    this.returnForm1.Visible = true;
  }

c#中winform窗口的隐藏与显示的更多相关文章

  1. Visual Studio 2008项目中WinForm窗口图标显示为类图标,仅仅能打开代码而无法打开视图问题解决

    背景:         今天打开一个Winform项目的时候.图标显示为类文件的样子而不是窗口的样子,在代码中右键也没有View Designer选项.双击图标打开的是代码而非窗口设计界面,百度后也没 ...

  2. Html中 <tr> 标签的隐藏与显示

    TR标签的隐藏与显示:block(显示)和none(隐藏) <tr  style="display:none"> <tr id="sample" ...

  3. Altium Designer中画pcb如何隐藏和显示地线

    如何隐藏: 如何显示: 按下N后

  4. C#中设置窗口在最前显示而其他窗口不能使用

    对程序中的一个Form1处理,让其在打开的情况下,其他窗体都无法使用,全部焦点都在他身上. 1.这种方法最简单,直接调用窗体的模态对话框函数显示窗体 Form1.ShowDialog(): 2.设置窗 ...

  5. Winform启动时隐藏不显示

    我最终用了这个方法:1.MainForm的构造方法中添加: public MainForm() { InitializeComponent(); this.ShowInTaskbar = false; ...

  6. EasyUI中对于Grid的隐藏与显示

    $('#div_Grid').datagrid('hideColumn', 'mtnDate'); $('#div_Grid').datagrid('showColumn', 'mtnDate');

  7. 解决 WinForm 重写 CreateParams 隐藏窗口以后的显示问题

    WinForm 启动时隐藏窗体最简单有效的办法是重写 CreateParams protected override CreateParams CreateParams { get { base.Vi ...

  8. linux如何隐藏和显示所有窗口?

    centos7 基本上就跟fedora23是一样的了, 也许它们使用的内和是一样的, fedora23使用的是4.2.3, 所以使用fedora对使用centos和redhat是有优势和好处福利的. ...

  9. C# WinForm中 让控件全屏显示的实现代码

    夏荣全 ( lyout(at)163.com )原文 C#中让控件全屏显示的实现代码(WinForm) 有时候需要让窗口中某一块的内容全屏显示,比如视频播放.地图等等.经过摸索,暂时发现两种可行方法, ...

随机推荐

  1. PHP判断手机号运营商(详细介绍附代码)

    道理很简单,知道手机号规则 进行正则判断就可以 移动:134.135.136.137.138.139.150.151.157(TD).158.159.187.188 联通:130.131.132.15 ...

  2. Centos7解决图形界面卡死问题

    经常会遇到图形界面卡死,搜了一搜,解决办法如下: killall -9 gnome-shell

  3. scrapy框架第一章

    操作环境:python2.7+scrapy 安装比较简单,网上教程也超多,就不在此赘述. 示例网站:https://www.cnblogs.com/cate/python/ (爬去关于博客园所有pyt ...

  4. vivado hls(1)

    笔记 1.vivado  hls是fpga高级综合工具,可以将C语言转换成verilog代码,适合编写算法,但是要有硬件思想. 2.软核就是只要资源足够,就可以用逻辑打一个CPU出来,与硬核不一样,硬 ...

  5. Webpack 2 视频教程 020 - Webpack 2 中的 HMR ( Hot Module Replacement )

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  6. 如何更改 iOS 和安卓浏览器上的 input[type="radio"] 元素的默认样式?

    Safari 上的默认样式是这样的, 背景颜色可以使用background-color改变,但中间那个点始终无法去掉. 我查了一些jQuery插件,如iCheck.js,但是那说明写得我都看不明白,根 ...

  7. JQ 为未来元素添加事件处理器—事件委托

    随着DOM结构的复杂化和Ajax等动态脚本技术的运用,有了较多的动态添加进来的元素,直接用JQ添加click事件会发现新添加进来的元素并不能直接选取到,在这里就需要用到事件委托方法,JQ为事件委托提供 ...

  8. 鸟哥的linux私房菜学习-(三)X Window与文本模式的切换

    通常我们也称文本模式为终端机接口, terminal 或 console喔!Linux默认的情况下会提供六个Terminal来让使用者登陆, 切换的方式为使用:[Ctrl] + [Alt] + [F1 ...

  9. 《吸血鬼日记》(The Vampire Diaries)经典台词

    Best quotes from The Vampire Diary 1. I will start fresh, be someone new. 1.我要重新开始,做不一样的自己. 2. It’s ...

  10. Ruby学习之对象模型

    这两周工作内容较多,平时自己也有点不在状态,学的东西有点少了,趁着现在还有点状态,赶紧复习一下之前学习的Ruby吧. Ruby是我真正开始接触动态语言魅力的第一个语言,之前虽然也用过且一直用perl. ...