使用赢得的按钮关闭';t结束任务C#
因此,出于某种原因,当我编写使用赢得的按钮关闭';t结束任务C#,c#,C#,因此,出于某种原因,当我编写this.Close()时进入我的程序,它实际上不会关闭它。 我让程序打开另一个.exe文件,然后关闭,但我打开了我的任务管理器,它实际上仍然在后台运行。我的上下文菜单上的“关闭”选项也有这个问题。 你知道为什么吗 编辑:即使我用按钮退出,它仍然在后台 编辑: private void closeToolStripMenuItem_Click(object sender, EventArgs e) { this.Close(); } private void
this.Close()时代码>进入我的程序,它实际上不会关闭它。
我让程序打开另一个.exe文件,然后关闭,但我打开了我的任务管理器,它实际上仍然在后台运行。我的上下文菜单上的“关闭”选项也有这个问题。
你知道为什么吗
编辑:即使我用按钮退出,它仍然在后台
编辑:
private void closeToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void launch_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start(Environment.ExpandEnvironmentVariables("%AppData%\\program.exe"));
this.Close();
}
只有两个正在关闭程序的实际代码。但它仍在后台运行。
即使我通过实际的x按钮退出,它仍然在后台运行。您必须关闭已创建的进程。创建变量以保存已创建的流程,并在关闭表单或按其他按钮时关闭流程。见:
如上述注释中的尺寸,使用系统诊断添加;下载您的代码并尝试此代码
public Form1()
{
InitializeComponent();
Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
}
void Application_ApplicationExit(object sender, EventArgs e)
{
Process.GetCurrentProcess().Kill();
}
你能给我们看一下你的代码吗?你是说你有一个运行另一个可执行文件的应用程序吗?试试application.Exit()代码>@sickUnit我试过了,成功了。除了使用内置的退出按钮…嗯…哦,所以我只是简单地关闭表单。我需要结束整个过程吗?好了,现在有道理了!非常感谢。对您正在关闭表单而没有关闭流程:)但仍然有问题。它正在处理红线。你能解释一下这个代码是如何工作的吗?这样我就可以把它正确地放到我的程序中去了代码>到您的“使用”-块或使用System.Diagnostics.Process.Start(“notepad.exe”)代码>确实,需要对System.Diagnostics的引用。我将把它包括在代码样本中,直到退出按钮没有完全关闭为止。可能是因为我有一个闪屏吗?由于this.Hide(),启动屏幕正在后台运行但是如果我放了其他东西,整个程序就会关闭。对于这一点,您有两个使用线程意味着在单独的线程上启动两个窗体,也调用EventHandler关闭单独线程上的窗体,并创建线程计时器以获取更多信息检查此项
public Form1()
{
InitializeComponent();
Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
}
void Application_ApplicationExit(object sender, EventArgs e)
{
Process.GetCurrentProcess().Kill();
}