当第二个表格关闭时发生一个事件

时间:2017-04-20 03:01:26

标签: c# vb.net forms

我说我有2个表格

  

第一个表单名称是: Form1

     

由以下组成:1个按钮,名称为$var

此按钮距其Button1 Public并且有一个OnClick事件

活动是:

properties
  

第二个表格名称是:表格2

     

包括: private void Button1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); form2.Show(); Button1.Enabled = false; }

但是有一个FormClosing事件

活动是:

nothing

这意味着来自 private void Form2_FormClosing(object sender, FormClosingEventArgs e) { Form1 form1 = new Form1(); form1.Button1.Enabled = true; } 的{​​{1}}应该再次Button1

  

当Form2关闭时,问题没有发生

我认为这个事件不正确,但我不确定

感谢任何帮助

1 个答案:

答案 0 :(得分:1)

您需要将Form1的实例传递给Form2,这样您就可以访问对象/表单...

public class Form2
{
  private Form1 _Form1;
  public Form2(Form1 form1)
  {
     this._Form1 = form1;
  }

  private void Form2_FormClosing(object sender, FormClosingEventArgs e)
  {
      _Form1.Button1.Enabled = true;
  }    
}

...

public class Form1
{
  private void Button1_Click(object sender, EventArgs e)
  {
    Form2 form2 = new Form2(this); //pass "this", ie the instance of Form1
    form2.Show();
    Button1.Enabled = false;
   }
 }