指定了MessageBox的按钮以后,MessageBox.Show返回值是一个DialogResult类型。例如:
if (MessageBox.Show("文档已改变,是否要保存?","提示",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Information)==DialogResult.Yes)
{
    Save();
}

解决方案 »

  1.   

    基本同意,还要注意Form的类型
      

  2.   

    private void Form2_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
    if (MessageBox.Show("文档已改变,是否要保存?","提示",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Information) == DialogResult.Cancel)
    {
    return;
    }
    }
    }
    再次请教:当选择“Cancel”时,窗口还是会关闭呀????
      

  3.   

    老大你先择OK也会关闭呀!
    除非你在IF{ 这儿在显示下一个窗口}
    他才会显示出你要显示的窗口。
      

  4.   

    能不能撤消“关闭”呢?也就是中断或是撤消“Close()”的发生………请指教!!!
      

  5.   

    呀………呵…………我找到了!!!!我终于明白了!!!!!!!!!!!只要写入“e.Cancel = true;”即可。感谢 VegetableBird(失败到这个岁数还在当流氓)、还要谢谢bearbaba(儿子笨苯)、snewxf(心疤)的参与!