I获取此错误Error 1 An object reference is required for the non-static field, method, or property 'System.Diagnostics.Process.CloseMainWindow()'
我在Process.CloseMainWindow()上得到了这个错误;
你能告诉我我的错误在哪里吗?我试图让它,当你点击c#win表单应用程序上的x时,它会扼杀这个过程。
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Process.CloseMainWindow();
}
Process
类用于处理外部进程。
您需要获取要关闭的流程。
Process process = Process.GetProcessesByName("myProcess").FirstOrDefault();
if (process != null)
{
process.CloseMainWindow();
}
但是,如果您正在关闭子窗体,并且希望它退出您的应用程序,请使用
Environment.Exit(0);// or whatever exit code you need
或者作为@Nico Schertler的
Application.Exit();
但如果这是您的主表单,并且您单击X
,则应该在没有任何其他代码的情况下关闭。
我使用了Application.Exit();-正如尼科·舍特勒所说。(谢谢btw)
这是工作代码:
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
您必须将方法更改为静态
private static void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Process.CloseMainWindow();
}