黑马程序员技术交流社区

标题: 分享 [打印本页]

作者: 蔚强    时间: 2012-3-26 21:31
标题: 分享
    今天在编程的时候遇到一个问题,系统找不到制定的文件夹,平时的话关掉vs2010重启一次就好了,但是今天我就很郁闷了,重启了好几次,总是出现这个问题,最后终于得意解决,不知道为什么这个.exe文件怎么就在后台打开一直处于运行状态,你只要打开任务管理器把这个线程关掉就OK!
作者: 何智杰    时间: 2012-3-26 22:25
一般这种情况在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;//取消
                }
            }
作者: 韩迎龙    时间: 2012-3-26 22:28
呵呵,受教了!!!!!!!
作者: 柏云杉    时间: 2012-3-26 22:52
感谢分享
作者: 蔚强    时间: 2012-3-27 01:37
      二楼的说法正确啊,我感觉在析构函数里直接写是不是比较简洁一点呢?!(如果是WinForm的话那个窗口没有关掉也是会出现错误的,但是我们很容易就看到了!)
    其实我今天是做Socket编程以及多线程的,刚开始是因为把客户端跟服务端的线程都设为后台线程,但是忘记把Socket关掉了,最后又把客户端跟服务端的线程设为前台线程了,关闭UI线程,由于是前台线程,所有即使关掉了,它还是继续运行的,以后如果大家写客户端跟服务端线程的时候建议大家把线程设为后台线程,这样当UI主线程关闭的时候,后台线程也随之销毁。建议大家再写代码的同时多想想...不要像我今天分享的这个自己认为很好的知识(其实是我自己太大意了)太贸然了。现在我对前台线程后台线程了解的更加深刻了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2