A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蔚强 中级黑马   /  2012-3-26 21:31  /  1917 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    今天在编程的时候遇到一个问题,系统找不到制定的文件夹,平时的话关掉vs2010重启一次就好了,但是今天我就很郁闷了,重启了好几次,总是出现这个问题,最后终于得意解决,不知道为什么这个.exe文件怎么就在后台打开一直处于运行状态,你只要打开任务管理器把这个线程关掉就OK!

4 个回复

正序浏览
      二楼的说法正确啊,我感觉在析构函数里直接写是不是比较简洁一点呢?!(如果是WinForm的话那个窗口没有关掉也是会出现错误的,但是我们很容易就看到了!)
    其实我今天是做Socket编程以及多线程的,刚开始是因为把客户端跟服务端的线程都设为后台线程,但是忘记把Socket关掉了,最后又把客户端跟服务端的线程设为前台线程了,关闭UI线程,由于是前台线程,所有即使关掉了,它还是继续运行的,以后如果大家写客户端跟服务端线程的时候建议大家把线程设为后台线程,这样当UI主线程关闭的时候,后台线程也随之销毁。建议大家再写代码的同时多想想...不要像我今天分享的这个自己认为很好的知识(其实是我自己太大意了)太贸然了。现在我对前台线程后台线程了解的更加深刻了。
回复 使用道具 举报
感谢分享
回复 使用道具 举报
呵呵,受教了!!!!!!!
回复 使用道具 举报
一般这种情况在WinForm中遇到比较多。可以在窗体的 FormClosing中加入一句代码就可以在关闭窗体的时候直接退出应用程序
if (e.CloseReason != CloseReason.ApplicationExitCall)
            {
                if (MessageBox.Show("是否退出系统?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    e.Cancel = false;
                    Application.Exit();

                }
                else
                {
                    e.Cancel = true;//取消
                }
            }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马