在我的应用程序中,首先向用户显示登录屏幕,登录后显示的表单有一个菜单栏。在该菜单栏上有两个项目:“注销”和“退出”。如果用户选择注销选项,我希望它返回上述登录屏幕。如果用户决定单击“退出”,我会提示用户是否确定要退出。不幸的是,当用户通过单击窗口上的“X”按钮决定关闭程序时,它仅关闭当前表单。我的意图是关闭整个应用程序。
基本上,我需要知道如何通过截取表单结束事件来退出当前应用程序。
在退出项目条带代码为:
下 private void logoutToolStripMenuItem_Click(object sender, EventArgs e)
{
Form_Login log = new Form_Login();
this.Close();
log.Show();
}
退出项目条形码是:
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Are You Sure To Exit Programme ?","Exit",MessageBoxButtons.OKCancel)== DialogResult.OK)
{
Application.Exit();
}
}
当我单击退出按钮它关闭当前表单并且我想关闭整个应用程序
答案 0 :(得分:13)
这应该处理点击[x]或ALT + F4
的情况private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
DialogResult result = MessageBox.Show("Do you really want to exit?", "Dialog Title", MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
Environment.Exit(0);
}
else
{
e.Cancel = true;
}
}
else
{
e.Cancel = true;
}
}
答案 1 :(得分:2)
如果没有错误
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//You may decide to prompt to user
//else just kill
Process.GetCurrentProcess().Kill();
}
答案 2 :(得分:1)
private void mainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("This will close down the whole application. Confirm?", "Close Application", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
MessageBox.Show("The application has been closed successfully.", "Application Closed!", MessageBoxButtons.OK);
System.Windows.Forms.Application.Exit();
}
else
{
this.Activate();
}
}
答案 3 :(得分:0)
将以下代码应用到要使代码退出应用程序的位置。
System.Windows.Forms.Application.Exit()
答案 4 :(得分:0)
尝试一下: Application.ExitThread();
答案 5 :(得分:-1)
试试这个:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// You may decide to prompt to user else just kill.
Process.GetCurrentProcess().Goose();
}