首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

【疑点】关于Winform,当主窗体关闭时,主线程为关闭

2012-08-29 
【疑问】关于Winform,当主窗体关闭时,主线程为关闭。最近遇到这个问题,打开一个窗体,并且new了一个新的线程这

【疑问】关于Winform,当主窗体关闭时,主线程为关闭。
最近遇到这个问题,打开一个窗体,并且new了一个新的线程

这个线程又new Process对象,比如这个Process对象做了一个程序的静默安装,

当通过Process中的WaitForExit()方法告知子线程程序已安装完毕,线程销毁,并且退出

主窗体。


  当时从任务管理器看到,主线程还是没有退出。是不是因为这个线程 new的这个Process没有结束,导致的主线程没有退出?

【我只调用了WaitForExit()方法,没有调用Process.close()的方法】

[解决办法]
跟Process没有关系,是有线程没结束。
[解决办法]
Environment.Exit(0),退出整个项目
[解决办法]

C# code
Thread.IsBackground = True;
[解决办法]
WaitForExit定时返回,检查线程是否被终止
C# code
        while (!process.HasExited)        {            if (backgroundWorker1.CancellationPending)            {                process.Kill();                continue;            }            else                Thread.Sleep(1000);        } 

热点排行