如题?

解决方案 »

  1.   

    1)设置窗体的ControlBox为false,彻底拒绝关闭按钮
    2)在Closing事件中
             private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                e.Cancel = true;
            }
      

  2.   

            private void frmMain_FormClosed_1(object sender, FormClosedEventArgs e)
            {
                if(MessageBox.Show("确定要退出嘛?", "退出确认",  MessageBoxButtons.OKCancel,MessageBoxIcon.Information)==DialogResult.OK)
                {
                    Application.Exit();
                }
                else
                {
                    frmMain frmmain = new frmMain();
                    frmmain.Show();
                }  
            }
    我本来是这样的,但是我在frmMain中嵌入了datagradview搜索后,我搜索了内容后,再点击关闭窗口
    点击取消,也就是跳到else,但是它变成新的frmMain了,我刚才搜索的内容没了,如何才能保留我
    刚才datagradview中的内容呢?
      

  3.   

    用Closing事件,不要用Closed事件代码见2楼的
      

  4.   


    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
         if (MessageBox.Show("确定要退出嘛?", "退出确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) != DialogResult.OK)
         {
             e.Cancel = true;
         }
    }
      

  5.   

    FormClosed就是Form已经关闭后做的事情.所以需要改成FormClosing事件.支持2,4,6楼.
      

  6.   

    我的做法跟6楼的一样,都是在closing事件时加个判断是否关闭窗口
      

  7.   

    else后什么也不做不就可以了吗.