private void KKMainForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show("你确定要退出吗?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
            {
                MessageBox.Show("谢谢使用康康聊天工具!");
            }
            else
            {
                e.Cancel = true;
            }
        }

解决方案 »

  1.   

    private void KKMainForm_FormClosing(object sender, FormClosingEventArgs e)
      {
      if (MessageBox.Show("你确定要退出吗?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.Cancel)
      {
    e.Cancel = true;
      }
      else
      {  MessageBox.Show("谢谢使用康康聊天工具!");
        }
      }
      

  2.   

    这样是不行的,我要退出的是整个应用程序。你这样修改只会销毁KKMainForm而已(即form2),而我的form1不会销毁的。从进程中还是可以看到我的程序进程。
    当然设置一个bool行的变量是可以达到我所说的效果的,如下private bool exit=false;
    private void KKMainForm_FormClosing(object sender, FormClosingEventArgs e)
            {
                if ((exit == false)&&(MessageBox.Show("你确定要退出吗?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)== DialogResult.OK) )
                   
                {
                    MessageBox.Show("谢谢使用康康聊天工具!");
                    exit = true;
                    Application.Exit();
                }
            }
    我想知道有没有其他的方法也能达到这种效果,我相信肯定是有的。谢谢。
      

  3.   

    http://hi.baidu.com/%EE%A3%BB%AA/blog/item/b21fcaf34addea58352acce6.html给分
      

  4.   


            void Form2_FormClosing(object sender, FormClosingEventArgs e)
            {
                if (e.CloseReason == CloseReason.ApplicationExitCall)
                    return;
                if (MessageBox.Show("你确定要退出吗?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    MessageBox.Show("谢谢使用康康聊天工具!");
                    Application.Exit(new CancelEventArgs(true));
                }
            }
      

  5.   

    代码如下  :
    private void Form2_FormClosed_1(object sender, FormClosedEventArgs e)
    {
      if (MessageBox.Show("你确定要退出吗?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    MessageBox.Show("谢谢使用康康聊天工具!");
                    Application.Exit();
                }
                else
                {
                    Form2 frm = new Form2();
                    frm.Show();
                }
            }
      

  6.   

    直接用Application.Exit()即可,传入的参数是无效的,还是会调用formclosing。这个问题就到这里吧。感谢~
      

  7.   

    把 Application.Exit();写在FormClosed事件即可!
    --------------------------------------------------------------------------
    private void frmAdminMain_FormClosed(object sender, FormClosedEventArgs e)
            {
                DialogResult dr = MessageBox.Show("确认退出?", "标题", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
                if (dr == DialogResult.OK)
                {
                    Application.Exit();
                }
                else
                {
                    frmAdminMain fa = new frmAdminMain();
                    fa.Show();
                }        }