日期:2014-05-17  浏览次数:20716 次

怎么我关闭窗体的时候,这段代码没有执行呢?
我通过在Form1的label_1_Click事件中调用了Form2.代码如下:
  private void label_1_Click(object sender, EventArgs e)
  {
  Form Form2 = new Form2();
  Form2.TopLevel = false;
  this.panel4.Controls.Add(Form2);
  Form2.Show();
  this.label_1.Enabled = false;
  }

对Form2操作结束后 我在Form2中写了如下的代码:

private void Form2_FormClosing(object sender, FormClosingEventArgs e)
  {
  if (MessageBox.Show("将要关闭窗体,是否继续?", "询问", MessageBoxButtons.YesNo) == DialogResult.Yes)
  {
  e.Cancel = false;  
  }
  else  
  {
  e.Cancel = true;
  }
  }  

但是我在操作关闭Form2却没有弹出提示

请教 我这里问题出在哪里?

第二个问题 

我在调用Form2的时候 将Form1的label_1.Enabled 设置为了 false;

我想再关闭Form2后 再将Form1的label_1.Enabled 设置为了 true;又应该如何弄呢? 谢谢

------解决方案--------------------
没有有提示不知道什么原因,看代码好像没问题。
至于第二个问题,你在form1里面加上form2的FormClosed 呀
form2.FormClosed += new FormClosedEventHandler(form2_FormClosed);
------解决方案--------------------
C# code

 if (MessageBox.Show("将要关闭窗体,是否继续?", "询问", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                e.Cancel = false;
                Form1 parent = (Form1)this.ParentForm;
                parent.button1.Enabled = true;
            }
            else
            {
                e.Cancel = true;
            }