关闭表单后终止应用程序
本文关键字:终止 应用程序 表单 | 更新日期: 2023-09-27 18:27:06
我用C#编写了一个应用程序。但是,即使在关闭表单之后,应用程序仍将运行。也就是说,.exe和.vshost文件仍将运行。因此,我使用了以下代码来终止应用程序。但它并没有终止。
public void Form1_Closing(object sender, FormClosingEventArgs e)
{
Process[] pArry = new Process[500];
pArry = Process.GetProcesses();
foreach (Process p in pArry)
{
string s1 = p.ProcessName;
s1 = s1.ToLower();
if ((s1.Equals("new_prj.vshost")))
{
p.Kill();
}
}
}
我的项目名称是new_prj。如果我在Button_Click函数中编写相同的代码片段,它就能正常工作。但在表单关闭功能中不起作用。有人遇到过同样的问题吗?
你能用这个吗?
Application.Exit();
这可能有几个原因。如果它是一个多线程应用程序,那么您可能有另一个线程在运行,从而阻止进程终止。
请提供更多详细信息。
编辑
我发布了一个类似的问题,并得到了一些关于如何使用线程的意见。请参阅此帖子。
以下是一个有用的代码,来自对帖子的回答:
public void Start()
{
workerThread = new Thread(() => DoWork());
doWork = true;
workerThread.IsBackground = true;
workerThread.Start();
}
注意IsBackground = true;
。
如果你真的想从任何地方退出你的应用程序,你可以使用Environment.Exit()
,但我建议用你的表单来解决这个问题。如果你发布更多的代码,我们可能会找到问题。
您也可以尝试Application.Exit,但正如Carsten所说,您试图治疗症状而不是原因。
您是否尝试过简单地使用Application.Exit()?