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# 实现子窗口关闭父窗口也关闭的简单实例
其实是窗口间通讯的问题,在form1上打开form2 ,form2 关闭时关闭form1 实现方法: 在子窗口form2中声明事件: public delegate void childclose(); public event childclose closefather; 然后在它的关闭事件中触发本事件: private void Form2_Closed(object sender, System.EventArgs e) { //用事件去关闭主窗口 closefather(); } 在父
-
C#最简单的关闭子窗体更新父窗体的实现方法
主窗体Form1关键代码: 将子窗体最为对话框模式弹出,当窗体关闭或取消时更新主窗体 复制代码 代码如下: private void simpleButton1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.Owner = this; DialogResult result=f2.ShowDialog(); if (result == DialogResult.Cancel) { this.gridControl1.
-
C#实现关闭其他程序窗口或进程代码分享
在进行winform开发过程中有时候会需要关闭其他程序或者关闭进程,以前写过一篇相关介绍的文章,今天有同事问起来,于是在次翻出来和大家分享一下. 下面介绍我所知的两种方法,应该对大家有帮助,如果有朋友知道其他的方法,谢谢共享一下. 方法1 ProcName 需要关闭的进程名称 private bool closeProc(string ProcName) { bool result = false; System.Collections.ArrayList procList = new Syst
-
C#中父窗口和子窗口之间控件互操作实例
本文实例讲述了C#中父窗口和子窗口之间控件互操作的方法.分享给大家供大家参考.具体分析如下: 很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件.相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可. 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异: 第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如: 复制代码 代码如下: public static yourMainWindow pCurrentWin =
-
C#实现关闭子窗口而不释放子窗口对象的方法
在线扫描相机的调试过程中,需要开辟调试界面来进行位置的配置.调试结束后,一种常用的方式是将调试参数保存并在下次启动时加载.另一种简单方式是直接使用该参数运行程序.因此,在后一种情况下,需要实现的功能是:即使关闭调试窗口,其窗口对象也不释放.除非其主窗口关闭,才销毁其调试窗口的对象. 1 在主窗口中实例化子窗口 在主窗口中实例化子窗口,而不是在按钮中实例化子窗口对象. Form2 f2 = new Form2(); 2 通过按钮来显示主窗口 在按钮中需要实现的是窗口的显示 private void
-
JS子父窗口互相操作取值赋值的方法介绍
$("#父窗口元素ID",window.parent.document); 对应javascript版本为window.parent.document.getElementByIdx_x("父窗口元素ID"): 取父窗口的元素方法:$(selector, window.parent.document);那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document); 类似的,取其它窗口的方法大同小异$(se
-
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
1.需求在子页面处理完成后,在关闭时刷新并重新加载父页面 $.ajax({ url : '${base.contextPath}/test/test', type : "post", dataType : "json", data : sendata, async: false, success : function (data) { if(data.success){ //刷新父页面 window.parent.manager.reload(); dialog.c
-
基于JavaScript实现图片点击弹出窗口而不是保存
一直想给安装一个缩略图点击弹出的插件,但是找了找几乎都是用的php来做的,插件的使用和安装极其繁琐,于是上网查了些demo,自己实现了一个纯js的图片弹出插件. 实现的思路是通过编写hook图片的onclick事件的函数,在函数中对body追加div元素,再将传入的图片对象放入元素中,同时再监听div的onclilck事件,当捕捉到点击,再关闭(其实是隐藏)弹出的div. 通过在函数初始化的时候收集页面所有的img元素,再为每个img元素增加onclick="picHook(this)"
-
JS实现关闭当前页而不弹出提示框的方法
本文实例讲述了JS实现关闭当前页而不弹出提示框的方法.分享给大家供大家参考,具体如下: 关闭当前页面,并且打开新页面(不提示) function closeWinAndOpen(url) { var sWinName = "LR"+parseInt(Math.random() * 100000000);//利用随机数处理WinName window.open(url,sWinName, 'toolbar=no,location=no,directories=no,status=yes,
-
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
本文实例讲述了javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法.分享给大家供大家参考.具体分析如下: 这里点击按钮后,弹出一个可关闭的层窗口,随之网页背景变灰,在QQ网站上经常会看到QQ登录的效果,就和这个很类似,代码段基于JavaScript,根据你的情况使用,有时候是用CSS完成的这种功能. <html> <head> <meta http-equiv="Content-Type" content="text/htm
-
jquery取子节点及当前节点属性值的方法
分享下jquery取子节点及当前节点属性值的方法. <li class="menulink"> <a href="#" rel="external nofollow" id="101" onclick="changeMenu('101','资料管理','#' )"><span>资料管理</span> </a> </li> 取子节点: $
-
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
重点是阻止默认的刷新,这样外部页面就不刷新了,然后指定刷新iframe,我下面给出了思路 document.onkeypress = function(e){ if(e.keyCode == 116){ e.preventDefault(); //组织默认刷新 var iframeSrc = iframe.src; iframe.src = iframeSrc; } } iframe页面里再写如下: var iframeSrc = parent.iframe.src; document.onke
-
Android 在子线程中更新UI的几种方法示例
本文介绍了Android 在子线程中更新UI的几种方法示例,分享给大家,具体如下: 方式一:Handler和Message ① 实例化一个Handler并重写handlerMessage()方法 private Handler handler = newHandler() { public void handleMessage(Message msg) { // 处理消息 super.handleMessage(msg); switch (msg.what) { case 1: button1.
-
MySQL中表子查询与关联子查询的基础学习教程
MySQL 表子查询 表子查询是指子查询返回的结果集是 N 行 N 列的一个表数据. MySQL 表子查询实例 下面是用于例子的两张原始数据表: article 表: blog 表: SQL 如下: SELECT * FROM article WHERE (title,content,uid) IN (SELECT title,content,uid FROM blog) 查询返回结果如下所示: 该 SQL 的意义在于查找 article 表中指定的字段同时也存在于 blog 表中的所有的行(注
随机推荐
- SQL SERVER 2008数据库日志文件收缩的方法
- Python的Flask框架的简介和安装方法
- js判断鼠标位置是否在某个div中的方法
- js运动动画的八个知识点
- asp.net中Session缓存与Cache缓存的区别分析
- ASP.NET数据绑定之Repeater控件
- 文件上传类
- Go语言实现机器大小端判断代码分享
- 程序中两个Double类型相加出现误差的解决办法
- Java中树的存储结构实现示例代码
- 基于jquery实现图片上传本地预览功能
- Windows 系统下设置Nodejs NPM全局路径
- SQL进行排序、分组、统计的10个新技巧分享
- 详解jQuery插件开发方式
- javascript 读取图片文件的大小
- 如何做到打开一个页面,过几分钟自动转到另一页面
- c#检测端口是否被占用的简单实例
- JavaScript数值转换的三种方式总结
- 关于php支持分块与断点续传文件下载功能代码
- Android仿拉手网团购App我的收藏界面实例代码