有一个窗体要实现单击右上角关闭按钮时弹出信息,有一个Button的关闭按钮弹出的不是一样的信息我在右上角关闭按钮上做关闭事件
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
           DialogResult result = MessageBox.Show("信息尚未处理,是否关闭? ", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
             if (result == DialogResult.Yes)
            {
                e.Cancel = false;
            }
            else
                e.Cancel = true;
        }在按钮上的关闭事件
        private void button1_Click(object sender, EventArgs e)
        {
          DialogResult result =   MessageBox.Show("是否关闭? ", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
            if (result == DialogResult.Yes)
            {
                this.close();
            }        }当执行完按钮事件的时候,还会执行Form1_FormClosing事件,要怎么样才能让他不执行的?????

解决方案 »

  1.   

           private void button1_Click(object sender, EventArgs e)
            {
                    this.close();
                }        
      

  2.   


    执行完,还是会执行Form1_FormClosing事件的啊。
      

  3.   

    先执行一句
    this.FormClosing -= Form1_FormClosing;
    然后
    this.Close();
      

  4.   

    this.FormClosing -= Form1_FormClosing;
    this.Close();
      

  5.   

    还有种方法,我说的不是针对你的这个例子,
    Application.Close();
      

  6.   


    DialogResult result = MessageBox.Show("确定关闭当前窗口?", "关闭窗口", MessageBoxButtons.YesNo);
                if (result == DialogResult.No)
                {
                    e.Cancel = true;
                }
                else
                {
                    Application.ExitThread();
                }//按钮
    private void button1_Click(object sender, EventArgs e)
            {
              DialogResult result =   MessageBox.Show("是否关闭? ", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
                if (result == DialogResult.Yes)
                {
                    Application.Exit();           
     }        }
      

  7.   


    如果助长胡乱“设计”,这样对一个团队好不了的!一个团队的设计师是干什么吃的?它会保证每一个设计都按照原计划的预案正常执行,并且他每隔1、2天就会回归所有的测试用例。那么显然前一个设计之所以出现bug,就是因为被这第二个人胡乱修改了其流程。一些貌似“聪明”的甚至深得学校教师喜爱的程序员,其实他们只是学到了搅乱团队的“本事”,当它们胡乱地编程之后,你再让他们负责则很困难。
      

  8.   

      private void button1_Click(object sender, EventArgs e)
      {
         this.close();
      }
      

  9.   

    Application.Exit();  // 退出应用程序
      

  10.   

    button1_Click中不要写任何代码,直接调用Form1_FormClosing,
    并且把button1作为参数传进去,然后通过判断sender是否是button1,进行不同的处理
      

  11.   

    Application.Exit();