2014-02-27 57 views
0

我用Visual Studio(C#)编写了一个简单的程序。当我关闭程序(点击Х)时,表单被关闭,但过程依然存在。我不得不从任务管理器关闭它。如何关闭C#进程?

什么命令关闭过程? 我的代码:

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{      
    e.Cancel = true;   
} 
+3

http://msdn.microsoft.com/en-us/library/system.windows.forms.application.exit(v=vs。 110).aspx – ilansch

+1

我认为你应该尝试找出问题的根本原因。为什么你的程序在关闭表单时不能关闭?你有一个无处循环的地方有引用'Application.DoEvents()'? –

+0

@StevenLiekens表单不关闭,因为他取消了关闭流程? – ilansch

回答

0

e.Cancel=true将阻止关闭您的形式,因此将其删除。

如果仍然不行,试试这个: 使用Application.Exit()方法上FormClosed事件,而不是FormClosing

要做到这一点,进入表单设计器窗口:按少校+ F7或右击然后点击Form designer(类似的东西)

右键单击您的表单,选择Properties,显示事件,然后双击表单关闭事件,设计师将自动注册该事件并生成你的代码。

你应该有这样的事情,而不产生的Application.Exit()方法:

private void Form1_FormClosed(object sender, FormClosingEventArgs e) 
{      
    Application.Exit();   
} 
+0

我在哪里粘贴这种方法? – user3360977

+0

@ user3360977:我编辑我的答案,看看是否有帮助 – Shide

+0

并且顺便说一句,在“e.cancel =真正的”防止您的形式从关闭 – Shide

0

e.Cancel = true;指从关闭停止形式。这是你的代码的主要问题。

,如果你有一个确认像你应该使用这个参数,“你确定要关闭?”如果用户选择“否”,则将e.Cancel设置为true

只需删除该代码(或设置取消为false)和你的形式将关闭,如果这是你的应用程序中的最后一个,它将结束。

因此,对于你的问题的最终解决方案是一个简单的

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{      
}