private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (DialogResult.Yes == MessageBox.Show("您确定要离开系统?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information))
            {
                Application.Exit();
                WriteRecord("关机记录:"+ DateTime.Now.ToString());
            }
            else
           {
                e.Cancel = true;
           }
        }
   收到的代码.基本写的一样!可我的退出需要点击两次!

解决方案 »

  1.   

    没听懂,但是看到这俩个顺序写反了;
    Application.Exit();
    WriteRecord("关机记录:"+ DateTime.Now.ToString());
      

  2.   

    if(MessageBox.Show("您确定要离开系统?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information)) 就可以了吧?
      

  3.   

    你点击×,第一次触发closing事件,弹出框确定后执行Applacation.exit(),主进程开始注销工作场所,其中就要关闭已经打开的form1,再次触发closing事件
      

  4.   

    用Form1_FormClosed,估计一次就可以关闭
      

  5.   

    Application.Exit();
    可以改成
    Environment.Exit(0);
      

  6.   

    Environment.Exit(0);這個不錯
      

  7.   

    //Application.Exit();   直接这一行注释了不要即可!Application.Exit(  也会去调用一次关闭事件,  他会提示两次是否关闭,你第一次点是第二次点否 他依然会关闭。
      

  8.   

    Form1_FormClosing 本身就是关闭进行事件,你不要进行其他操作他自己就关闭了啊,
    除非你是程序的进程退的不彻底才考虑用这些哈