2 qq 29670983 qq_29670983 于 2016.09.26 21:42 提问

请教一个C#线程的问题

我在C#里面创建了一个线程,里面只写了一个MESSAGEBOX.SHOW,运行之后再关闭
发现这个MESSAGEBOX仍然保留在桌面上,请问这是怎么回事呀?我在FORMCLOSING
里面加了关闭线程的语句还是不行
我记得在VC里面像上面这样关闭窗口的话 会连同弹出的MESSAGEBOX一同关闭的

3个回答

caozhy
caozhy   Ds   Rxr 2016.09.26 23:46

MESSAGEBOX.SHOW不能放在线程里,必须用invoke在主线程调用

qq_29670983
qq_29670983 谢谢
接近 2 年之前 回复
lilove333
lilove333   2016.09.27 11:03

winform的线程区别前台线程和后台线程,默认创建的线程是前台线程,当所有的前台线程关闭后,应用程序域才会被卸载,程序才会正真的退出,所以才会出现你这种情况

qq_29670983
qq_29670983 请问下,前台线程和后台线程有什么区别呢
接近 2 年之前 回复
qq_29670983
qq_29670983 太厉害了, 谢谢
接近 2 年之前 回复
z3237109
z3237109   2016.09.27 11:29

不知道你的代码的具体情况,可以试试下面的方案:
1、在你的线程声明的时候,将IsBackground这个属性置为TRUE;
2、如果1方法不好使的话,那就在你的主窗口的关闭事件里面用跨线程调用组件的方式,invoke关闭窗口;
3、第三套就是有点绕的方法了,传递关闭事件,当需要关闭的窗口接收到事件之后,执行关闭代码;
4、第四种是大杀器,如果你的主窗口关闭之后,业务逻辑上是整个程序退出的话,那就用Application.Exit();直接天下太平了。。。。。。。。。

qq_29670983
qq_29670983 太谢谢了,把ISBGROUNG改了之后就能自动 关闭了。
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
问题请教工程,问题请教工程
问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,问题请教工程,
英文邮件礼仪:向教授请教学术问题
英文邮件礼仪:向教授请教学术问题   邮件主题 邮件主题(subject)不需要写自己的名字。名字是在邮件系统设置里设定好的,在发件时会替换显示实际地址,所以无需在主题里再写一遍。 [关键内容是要在主题里就写明白是否有推荐人,以及主要是什么事。很多教授只看主题。]   一个好的标题,要能简洁地概括邮件的目的或内容。如果你对教授的某个研究项目感兴趣,就可以用这个研究方向作标题,例如"De
程序员应该如何去请教别人问题
程序员应该如何提问
如何请教别人问题?
提问的智慧。
问题请教高手
问题请教高手问题请教高手
C#技巧【调用线程无法访问此对象,因为另一个线程拥有该对象的问题的解决办法】【C#读写EXCEL源码提示“office检测到此文件存在一个问题。为帮助保护您的计算机,不能打开此文件”的解决】
SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机、32位ARM Cortex-M0处理器、128kB Flash存储器、以及丰富的数字接口。SYD8801片上集成了Balun无需阻抗匹配网络、高效率DCDC降压转换器,适合用于可穿戴、物联网设备等。具体可咨询:http://www.syd-tek.com/调用线程无法访问此对象,因为另一个线程拥有该对象的问题的解...
c#多线程之生产者与消费者问题的解决
这两天由于学习的需要,学了一下C#的多线程,并写了个经典生产者与消费者的案例,但从中也发现了一个问题,总体上感觉C#比java在各个方面来说,总是有些不如,也许是长期使用java和刚刚接触C#吧,存在些偏见,言归正转,解决这个多线程问题,有以下几步骤: 1、使用多线程遇到的问题:解决诸如购票、候车等问题时,肯定是并行工作的,当共同访问一块数据时,如果不加锁的机制的话,肯定会造成数据不一致。 2
多线程开发之线程的超时
今天在上班的时候,同事突然遇到一个问题,就是他写的一个线程池,里面执行的线程没办法超时,因此导致程序在一直等待执行。但是对很多程序来说,如果一个线程如果运行时间太长的话,最好能够抛弃掉,但是一般的线程并没有超时设置。 对于这个问题我想到通过Future与Callable来实现这个功能Future与Callable接口Callable接口类似于Runnable,从名字就可以看出来了,但是Runnabl
建议76: 警惕线程的优先级
建议76: 警惕线程的优先级 线程在C#中有5个优先级:Highest、AboveNormal、Normal、BelowNormal和Lowest。讲到线程的优先级,就会涉及线程的调度。Windows系统是一个基于优先级的抢占式调度系统。在系统中,如果有一个线程的优先级较高,并且它正好处在就绪状态,系统总是会优先运行该线程。换句话说,高优先级的线程总是在系统调度算法中获取更多的CPU执行时间
c# 多线程学习笔记(四)生产者消费者问题
生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关