私は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
また、これを行う場合は、Form.ClosingではなくForm.Closedを実行する必要があります。閉じるとはまだ閉じていないことを意味します! –
「X」ボタンを押してフォームを閉じます。フォームを閉じずに隠すだけですか?次にそれを閉じる方法は? – ragz