用按钮结账获胜';t结束任务C#
本文关键字:结束 任务 按钮 获胜 | 更新日期: 2023-09-27 18:26:14
因此,出于某种原因,当我将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按钮退出,它仍然在后台运行。
您必须关闭已创建的进程。创建一个变量以保存已创建的流程,当您关闭表单或按下另一个按钮关闭流程时。请参阅:http://msdn.microsoft.com/en-us/library/system.diagnostics.process.close.aspx
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
private Process _process;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this._process = Process.Start("notepad.exe");
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (this._process != null) {
this._process.CloseMainWindow();
this._process.Close();
}
}
}
}
如以上注释中所述,使用System.Diagnostics添加;到您的代码并尝试此代码
public Form1()
{
InitializeComponent();
Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
}
void Application_ApplicationExit(object sender, EventArgs e)
{
Process.GetCurrentProcess().Kill();
}