private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            if(MessageBox.Show("是否退出?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question)==DialogResult.No)
                e.Cancel = true;
            
        }
适用vs2005

解决方案 »

  1.   

    在vs2003中,当使用Form.Close()方法时先触发Form.Closing事件,若要取消窗体的关闭操作,请将传递给事件处理程序的 CancelEventArgs 的 Cancel 属性设置为true,如:
    if(MessageBox.Show("是否退出?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question)==DialogResult.No)
                    e.Cancel = true;在vs2005中,事件改为Form.FormClosing,原理基本一样,参考我上面贴的代码。