应用程序进程工作背景甚至我在C#中使用close()关闭?

时间:2013-03-28 05:49:37

标签: c# windows backgroundworker

我使用c#在Windows应用程序中编程。

我想使用this.close();

关闭一个应用程序

我的应用程序窗口已关闭。但是我尝试删除该应用程序文件,它显示“由另一个进程使用的文件”?

注意:我也在该应用程序中使用backgroundrunner。如果它对上述问题有任何疑问?

3 个答案:

答案 0 :(得分:1)

尝试使用Application.Exit关闭您的应用程序。

  

通知所有消息泵必须终止,然后关闭   消息处理完毕后的所有应用程序窗口。

答案 1 :(得分:1)

当您使用this.Close()时,您正在关闭窗口表单但不关闭应用程序。

即使您明确关闭表单,您在应用程序中发出的后台运行程序仍将在场景后面运行。这就是你收到信息的原因。

如果忙于进程并且在关闭应用程序之前正常处理它以终止/完成请求,您还可能需要检查后台工作程序的类型。 Application.Exit前台线程将继续终止,后台不会。

答案 2 :(得分:1)

在退出main方法之前尝试调用此函数。

workerThread是后台工作者

public void Abort()
{
    if (workerThread != null)
    {
        workerThread.Abort();
        workerThread = null;
    }
}