欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

C#实现关闭子窗口而不释放子窗口对象的方法

时间:2021-03-23 09:36:31|栏目:.NET代码|点击:

在线扫描相机的调试过程中,需要开辟调试界面来进行位置的配置。调试结束后,一种常用的方式是将调试参数保存并在下次启动时加载。另一种简单方式是直接使用该参数运行程序。因此,在后一种情况下,需要实现的功能是:即使关闭调试窗口,其窗口对象也不释放。除非其主窗口关闭,才销毁其调试窗口的对象。

1 在主窗口中实例化子窗口

在主窗口中实例化子窗口,而不是在按钮中实例化子窗口对象。

Form2 f2 = new Form2();

2 通过按钮来显示主窗口

在按钮中需要实现的是窗口的显示

private void Config_Click(object sender, EventArgs e)
    {
      f2.Show();
    }

3 关闭子窗口而不释放子窗口对象的方法

经查询和实证,修改子窗口中Dispose的方法是可行的。更改如下:

 protected override void Dispose(bool disposing)
    {
      Hide();
      //if (disposing && (components != null))
      //{
      //  components.Dispose();
      //}
      //base.Dispose(disposing);
    }

4 在父窗口关闭时销毁子窗口对象

由于需要在父窗口关闭是销毁子窗口对象,因此,在父窗口的关闭动作FormClosed中添加调用子窗口f2的销毁函数。

 private void Form1_FormClosed(object sender, FormClosedEventArgs e)
    {
      f2.Close();
    }  

子窗口类中添加的关闭函数如下:

 public void Close()
    {

      this.Dispose();

    }

上一篇:ASP.Net执行cmd命令的实现代码

栏    目:.NET代码

下一篇:详解ASP.NET MVC下的异步Action的定义和执行原理

本文标题:C#实现关闭子窗口而不释放子窗口对象的方法

本文地址:http://www.codeinn.net/misctech/86710.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有