在MDI子窗体的closing事件中
   private void Frm1_FormClosing(object sender, FormClosingEventArgs e)
        {
             if (MessageBox.Show("退出?", "退出", MessageBoxButtons.YesNo) != DialogResult.Yes)
                e.Cancel = true;
        }   Frm1是MDI子窗体发现在关闭这个子窗体时,在触发closing事件前,窗体就不见了,才弹出退出对话框。如果选NO,窗体也会不见,其实并没有关闭如果不是MDI窗体,则没问题。  

解决方案 »

  1.   

    if (MessageBox.Show("确定要退出吗?", "提示对话框", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                {
                                    this.Dispose();
                    Application.Exit();
                }
                else
                    e.Cancel = true;
    我这样做不会哦。。
      

  2.   


    验证了lz的这段代码,完全没问题呀,frm1这个mdi子窗体一直都存在的呀,除非你确认关闭。