我正在使用 c# 在 Windows 应用程序中编程。
我想使用 this.close() 关闭应用程序;
我的应用程序窗口已关闭。但我尝试删除该应用程序文件,它显示“该文件被另一个进程使用”?
注意:我也在该应用程序中使用 backgroundrunner。如果它对上述问题有任何问题?
我正在使用 c# 在 Windows 应用程序中编程。
我想使用 this.close() 关闭应用程序;
我的应用程序窗口已关闭。但我尝试删除该应用程序文件,它显示“该文件被另一个进程使用”?
注意:我也在该应用程序中使用 backgroundrunner。如果它对上述问题有任何问题?
在退出 main 方法之前尝试调用此函数。
workerThread 是后台工作者
public void Abort()
{
if (workerThread != null)
{
workerThread.Abort();
workerThread = null;
}
}
当您使用 时this.Close()
,您正在关闭窗口窗体而不是应用程序。
即使您明确关闭表单,您在应用程序中发出的后台运行程序仍将在后台运行。这就是你收到消息的原因。
如果忙于进程,您可能还需要检查后台工作人员的类型,并在关闭应用程序之前优雅地处理它以终止/完成请求。前台线程会Application.Exit
继续终止,后台不会。
尝试使用Application.Exit关闭您的应用程序。
通知所有消息泵它们必须终止,然后在处理完消息后关闭所有应用程序窗口。