我已经用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函数中编写相同的代码片段,它可以正常工作。但在表单关闭功能中不起作用。有人遇到同样的问题吗?
我猜这是行不通的,因为表单没有真正关闭(也许你只是停用它或将可见性设置为false或其他) - 在任何情况下,这是非常丑陋和黑客行为的代码...不要使用任何东西像这样 - 看我的答案。 – Carsten 2012-03-08 18:13:42
另外,如果你要这样做,你应该这样做Form.Closed不Form.Closing。关闭意味着它尚未关闭! – 2012-03-08 18:16:16
我按下'X'按钮关闭窗体。它是隐藏表单而不是关闭它吗?那么如何关闭它? – ragz 2012-03-08 18:27:26