代码如下:
if (MessageBox.Show("确定要退出系统吗?", "退出提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
            {
                this.Dispose();
                Application.Exit();
            }为什么我点击的是"取消",也一样关闭了当前窗口呢>>

解决方案 »

  1.   

    Application.Exit(); 是关闭整个程序的
      

  2.   

    应该在form_closing中处理,设置e.cancel=你需要的值。
      

  3.   

    if (MessageBox.Show("确定要退出系统吗?", "退出提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) 
                { 
                    this.Dispose(); 
                    Application.Exit(); 
                } 
    请调试一下,

    DialogResult dr=MessageBox.Show("确定要退出系统吗?", "退出提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

    点取消的时候,看下dr 的值
      

  4.   

    点确定的值为"OK";取消的值为"Cancel".
    就是不明白,为什么点取消,窗口也是关闭的..但在进程中还是存在..这
    这是什么原因啊?
      

  5.   

     if (MessageBox.Show("您确定将关闭窗体吗?", "提示信息", MessageBoxButtons.YesNo,MessageBoxIcon.Information) == DialogResult.Yes)
                {
                   
                    FaxOper.RollBackDBRecord();
                }
                else
                {
                    e.Cancel = true;
                    return;
                }
    在formclosing 事件中这么写 
      

  6.   

    MessageBox是模式窗体类,建议楼主可以自己写一个,
    对于模式窗体可以参考一下这里的文章,
    http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx