当鼠标点击窗体右上角的那个 X 就是关闭窗体,要求弹出一个提示! 显示 1退出  2最小化  如果选择 退出 就关闭窗体
如果选择 最小化 就把窗体最小化,
谢谢啦啊帅哥们帅姐们 小弟向你们致敬!

解决方案 »

  1.   

    protected override void OnClosing(CancelEventArgs e) 
                    { 
                            //退出提示,真的要退出,才允许退出 
                            if (MessageBox.Show(this, "你真的要退出?", "提示", 
                                                                    MessageBoxButtons.YesNo, 
                                                                    MessageBoxIcon.Question) == DialogResult.No) 
                            { 
                                    e.Cancel = true; 
                            } 
                    }
      

  2.   

    void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (MessageBox.Show("是否现在关闭窗口", "提示", 
                MessageBoxButtons.OKCancel, 
                MessageBoxIcon.Question) != DialogResult.OK)
                {
                    e.Cancel = true;
                }
      

  3.   

    const int WM_SYSCOMMAND = 0x112;
    const int SC_CLOSE = 0xF060;
    const int SC_MINIMIZE = 0xF020;
    const int SC_MAXIMIZE = 0xF030;
    protected override void WndProc(ref Message m)
    {
        if (m.Msg == WM_SYSCOMMAND)
        {
            if (m.WParam.ToInt32() == SC_MINIMIZE)
            {
                this.Visible = false;
                return;
            }
        }
        base.WndProc(ref m);
    }
      

  4.   

     在FormCloseing事件里这样写就行了
                            if (MessageBox.Show(this, "你真的要退出?", "提示", 
                                                                    MessageBoxButtons.YesNo, 
                                                                    MessageBoxIcon.Question) == DialogResult.No) 
                            { 
                                    e.Cancel = true; 
                            } 
      

  5.   


    e.Cancel = true;  这里报错
      

  6.   

    真会报错???不信有鬼
     private void mainForm_FormClosing(object sender, FormClosingEventArgs e)
            {
                if (MessageBox.Show("确定要退出程序吗?", "退出确认", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
                {
                    e.Cancel = true;
                }
            }
      

  7.   

    void Form1_FormClosing(object sender, FormClosingEventArgs e) 

        if (MessageBox.Show("是否现在关闭窗口", "提示", 
                MessageBoxButtons.OKCancel, 
                MessageBoxIcon.Question) != DialogResult.OK) 
                { 
                    e.Cancel = true; 
                } 
    }
      

  8.   

      private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                DialogResult result;
                result = MessageBox.Show("确定退出吗?", "退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (result == DialogResult.OK)
                {
                    //SaveIniFile();
                    System.Windows.Forms.Application.ExitThread();
                }
                else
                {
                    e.Cancel = true;
                }
            }
    绝对能用!
      

  9.   

    在formclosing事件里写你想写的代码
      

  10.   

    这个绝对能用,点击窗口的属性下面的事件中的FormClosing事件
      

  11.   

    void Form1_FormClosing(object sender, FormClosingEventArgs e) 

        if (MessageBox.Show("是否现在关闭窗口", "提示", 
                MessageBoxButtons.OKCancel, 
                MessageBoxIcon.Question) != DialogResult.OK) 
                { 
                    e.Cancel = true; 
                } 
    }
     我想就是这样的!!!
      

  12.   

    MSDN:在 .NET Framework 2.0 版中,OnClosing 方法已过时;请改用 OnFormClosing 方法。当调用 Application.Exit 方法退出应用程序时,不会调用 OnClosed 和 OnClosing 方法。如果在必须执行的任一个方法中有验证代码,则在调用 Form.Close 方法之前,应分别为每个打开的窗体调用 Exit 方法。        protected override void OnFormClosing(FormClosingEventArgs e)
            {
               //...
            }
      

  13.   


    这个可以用已经解决了谢谢你们。 但是那个在窗体关闭时的事件 里面写 e.Cancel = true; e. 点不出 Cancel这个属性,不知道怎回事。我用的是VS2005   你们这些认真好,我有什么不懂的都可以问  好好学习,天天向上