日期:2014-05-17  浏览次数:20796 次

C# [重新登陆功能]与[X关闭]功能冲突,欲知详情,请点击我
 请教各位一个问题,描述如下:

现有一winform主窗体,发现点击右上角的[X]关闭按钮之后,只是关闭了窗体界面,而没有真正得退出程序进程。于是,我在form_closing事件里面加入如下代码:

  private void MainFormAdmin_FormClosing(object sender, FormClosingEventArgs e)
        {

            if (e.CloseReason != CloseReason.ApplicationExitCall)
            {
                DialogResult re = MessageBox.Show("确定要退出系统?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (re == DialogResult.Yes)
                {
                    e.Cancel = false;
                    Application.Exit();
                }
                else
                {
                    e.Cancel = true;
                }
            } 
        }

在form_closing事件里加入代码后,问题已解决,点击X关闭可以正常退出程序。

可是,form_closing事件与下面一段主窗体[重新登陆]功能代码冲突了:


        private void 重新注册ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogResult MsgBoxResult;
            MsgBoxResult = MessageBox.Show("确定要重新注册系统?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2);
            if (MsgBoxResult == DialogResult.Yes)
            {
                this.Close();
                Login lg = new Login();
                lg.Show();
            }
        }


在执行重新注册点击事件的“this.Close()”时,会执行form_closing,导致注册时也提示是否要退出系统,请教,应该如何设计可以让注册事件在正常工作的前提下,点击右上角的[X]关闭按钮也可以完全退出程序进程。谢谢。