当前位置: 首页 > 编程笔记 >

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

郜玉石
2023-03-14
本文向大家介绍C#实现关闭子窗口而不释放子窗口对象的方法,包括了C#实现关闭子窗口而不释放子窗口对象的方法的使用技巧和注意事项,需要的朋友参考一下

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

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();

    }

以上这篇C#实现关闭子窗口而不释放子窗口对象的方法 就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍c# 实现子窗口关闭父窗口也关闭的方法,包括了c# 实现子窗口关闭父窗口也关闭的方法的使用技巧和注意事项,需要的朋友参考一下 其实是窗口间通讯的问题,在form1上打开form2 ,form2 关闭时关闭form1 实现方法: 在子窗口form2中声明事件: 然后在它的关闭事件中触发本事件: 在父窗口form1中(比如登陆窗口中): 然后弹出子form2窗体的地方这样写: 以上这篇c

  • 本文向大家介绍C# Winform中实现主窗口打开登录窗口关闭的方法,包括了C# Winform中实现主窗口打开登录窗口关闭的方法的使用技巧和注意事项,需要的朋友参考一下 在使用C#进行Winform编程时,我们经常需要使用一个登录框来进行登录,一旦输入的用户名密码登录成功,这时登录窗口应该关闭,而且同时打开主程序窗口。该如何来实现呢? 乍一想,很简单啊,打开主窗口就用主窗口的Show()方法,而

  • 我正在使用(以前是atom-shell),并希望有一个极简主义的框架窗口,以便三个OSX窗口按钮(关闭,最大化,最小化)从超文本标记语言页面内可见。 在定义

  • 本文向大家介绍函数window.open实现关闭所有的子窗口,包括了函数window.open实现关闭所有的子窗口的使用技巧和注意事项,需要的朋友参考一下 此文介绍了如何用window.open方法打开一个子窗口,当我们要关闭主窗口时,这时候所有的子窗口也会跟着关闭。下面有我的实现思路和代码,分享给大家。 实现思路: 1.打开子窗口函数window.open(url,winName)的第二个参数w

  • 本文向大家介绍JS关闭子窗口并且刷新上一个窗口的实现示例,包括了JS关闭子窗口并且刷新上一个窗口的实现示例的使用技巧和注意事项,需要的朋友参考一下 在开发后台项目的时候产品那边提出了这个一个需求:用户点击“选择模板”的时候会弹出一个新窗口,在新窗口选择模板点击确定后,会关闭当前的新窗口,并且原来的那个窗口自动显示用户在新窗口的选择项。 这样会涉及到一个技术点,就是怎么通过JS来实现关闭子窗口并且刷

  • 操纵子窗口 进程:渲染进程​ 使用 window.open 创建一个新窗口时,会自动创建一个 BrowserWindowProxy 的实例将返回一个标识,可通过标识对这个新窗口进行少量功能的控制. 实例方法 BrowserWindowProxy对象具有以下实例方法: win.blur() 用途:从子窗口中去焦 win.close() 用途:强制关闭子窗口,而不调用其卸载事件(unload even