private void Smailform_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
DialogResult result=MessageBox.Show(this,"真的要关闭该窗口吗?","关闭提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
if (result==DialogResult.OK)
{
//关闭窗口
e.Cancel=false;
}
else
{
//取消关闭
e.Cancel=true;
} }

解决方案 »

  1.   

    private void ButtonExit_Activate(object sender, System.EventArgs e)
    {
    DialogResult result=MessageBox.Show(this,"真的要退出系统吗?","关闭提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
    if (result==DialogResult.OK)
    {
    Application.Exit();
    }
    }
      

  2.   

    Closing之后运行colsoed 事件
      

  3.   

    谢谢答复。
    但是你的方法,如果我按关闭按钮,还是关闭当前窗口,不是退出程序。我想实现的是按关闭,退出应用程序,按Close button,只是关闭当前窗口。
    谢谢
    ps:我得按钮指的是Form.ControlBox中的那个关闭按钮。
      

  4.   

    这很好办嘛,设一个标志就可以了
    private bool blClose = false;//窗体字段private void b_Click(object sender, System.EventArgs e)
    {
       blClose = true;
       this.Close();
    }private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
      if(!blClose) Application.Exit();
    }
      

  5.   

    如此简单,我竟然卡住了半天。唉唉唉。
    谢谢MyLf(愿望树)师兄和xurui1016(小蕊) 的帮忙。