窗体无法关闭

问题描述

小弟在写完一个窗体程序,发现最后竟然关闭不了窗体了。我的程序主要是新开一个线程,固定间隔去读取串口数据,然后存excel,同时显示曲线。为了关掉建立的线程,我在窗体的关闭程序里面加了几句代码。上代码privatevoidMain_FormClosed(objectsender,FormClosedEventArgse){killProcess();///////这个是杀死后台操作excel的线程threadNew.Abort();//////这个是关闭我自己建立的固定间隔读写串口的线程this.Close();///////网上查了一下,利用这句关闭窗体,但是关闭不了//System.Environment.Exit(0);///////网上查了一下,利用这句关闭窗体,但是关闭不了}

不懂为什么,我的程序关闭不了我建立的窗体,哪位大神给指点一下,我要实现的这点功能:关闭窗体的同时,关闭自己建立的线程和后台操作excel的线程

解决方案

解决方案二:
会调试吗?会的话有看过这句话真的执行了吗?
解决方案三:
你这个不是关闭事件,而是关闭之前,就是指窗体收到关闭指令时要做的事,可以加一个关闭事件,把this.close()加进去就好了可以去查看closeclosedclosing三个事件

时间: 2025-01-01 10:48:51

窗体无法关闭的相关文章

在线等~vb.net中有没方法可以使MDI中打开一个窗体时关闭其他窗体

问题描述 不是手动一个个窗体Close方法而是打开一个窗体时``其他不活动的窗体全部关闭 解决方案 解决方案二:vb.net中一个CLOSE就关闭所有对象了,好像是foreachmdiinmdismdi.disposenext哈哈,自己去查下方法吧解决方案三:1.如果在打开一个窗口前关闭的话ForEachformAsFormInMdiChildrenform.Close()Next2.如果打开一个窗口后关闭其他不活动的DimactiveMdiAsForm=ActiveMdiChildForEac

link如何保存程序里面所有的窗体,关闭程序再打开和上次的要一模一样?

问题描述 link如何保存程序里面所有的窗体,关闭程序再打开和上次的要一模一样? link如何保存程序里面所有的窗体,关闭程序再打开和上次的要一模一样? 解决方案 foreach (Control ctrl in Controls)遍历窗体,然后写入配置文件.在Form_Load中读取配置文件并恢复.

C#调用子窗体后关闭自身(父窗体)

问题描述 C#窗体如何实现在调用子窗体后关闭自身窗体,而被调子窗体不关闭?类似登录窗体,除了在登录窗体后出现的主界面窗体的载入方法中运行登录窗体实例,就没有其它办法能实现了吗? 解决方案 解决方案二:show子窗体同时close父窗体不行么解决方案三:这种情况貌似不行.因为主窗体是程序入口.你关了主窗体,子窗体就关了.只能隐藏.解决方案四:将子窗体变量定义在父窗体的外边,使用时父窗体实例化,不用时在某个地方关闭或者隐藏解决方案五:引用楼主sandwave的帖子: C#窗体如何实现在调用子窗体后关

js判断子窗体是否关闭的方法_javascript技巧

本文实例讲述了js判断子窗体是否关闭的方法.分享给大家供大家参考.具体如下: function InsideMessageAdd() { //window.open()得到子窗体 tip = OpenDialog('UploadFile.html?tp=nbtz', 'msg', 650, 180); //启动timer,判断子窗体是否关闭 timer = window.setInterval("IfWindowClosed()", 500); } var timer; var tip

急~~在子窗体中打开另个子窗体并关闭本窗体`为什么只关闭本窗体而无法打开

问题描述 DimfrmAsNewMDImainDimfrm2AsNewform2frm2.MdiParent=frmfrm2.Show()Me.Hide()我那里错了?? 解决方案 解决方案二:'DimfrmAsNewMDImain去掉!Dimfrm2AsNewform2frm2.MdiParent=me.MdiParentfrm2.Show()Me.Hide()'或直接Close掉解决方案三:当你使用NewMDImain的时候,只是把frm2加到了一个未显示出来的刚建立的MdiMain中了,而

C#Windows窗体应用程序中如何在父窗体里关闭所有打开的子窗体

问题描述 就是有一个父窗体,打开了3个子窗体,在主菜单里有个窗体按钮,点击可以关闭当前打开的所有子窗体,哪位大仙帮帮忙 解决方案 解决方案二:http://blog.csdn.net/bdstjk/article/details/7007882解决方案三: 解决方案四:我做的是父窗体,而且我的问题跟你给的链接里的内容也没关系

C#.net 的mdi窗体(父子窗体)中如何让子窗体去关闭另一个子窗体啊!

问题描述 rt 解决方案 解决方案二:使用回調函數*****************************************************************************欢迎使用CSDN论坛专用阅读器:CSDNReader(附全部源代码)http://feiyun0112.cnblogs.com/解决方案三:通过条件去判断找出那个mdi窗体,然后关闭.解决方案四:引用2楼wesleyluo的回复: 通过条件去判断找出那个mdi窗体,然后关闭. 同意解决方案五:怎

如果在BackgroundWorker运行过程中关闭窗体…

在Windows Form应用中,BackgroundWorker 类允许您在单独的专用线程上运行操作.耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 似乎处于停止响应状态.如果您需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用 BackgroundWorker 类方便地解决问题.由于操作是异步执行的,用户可能在异步操作执行过程中关闭当前窗体,而窗体的关闭会伴随着Dispose方法的执行.如果我们注册了BackgroundWorker的RunW

C#父窗体监听子窗体关闭事件

问题描述 父窗体打开一个子窗体同时改变父窗体大小已经会写了,结果关闭一个子窗体后如何后面还有子窗体就不会改变父窗体大小,用foreach语句让父窗体读取当前激活的子窗体又不行,怎么改 解决方案 解决方案二:打开的时候用变量存储,解决方案三:这问题问得完全看不懂解决方案四:我有使用bool型变量判断开没开,但是我是需要在子窗体关闭事件后触发父窗体重新用foreach语句找到当前被激活(就是已经被打开的最顶层子窗体)的其余子窗体的事件,然后根据是哪个子窗体被激活调整父窗体大小,结果foreach语句