c#事件参数形成事件

c#事件参数形成事件,c#,events,types,custom-events,C#,Events,Types,Custom Events,我有多个相同设计的表单,如: In Form1{ Form2 = new Formtoopen(); Form2.Resize += new EventHandler(Form2_Resize); Form2.FormClosing +=new FormClosingEventHandler(Form2_FormClosing); } 然后是事件: In Form1{ protected virtual void Fly_Form2_Closing(object sender, FormClo

我有多个相同设计的表单,如:

In Form1{
Form2 = new Formtoopen();
Form2.Resize += new EventHandler(Form2_Resize);
Form2.FormClosing +=new FormClosingEventHandler(Form2_FormClosing);
}
然后是事件:

In Form1{
protected virtual void Fly_Form2_Closing(object sender, FormClosingEventArgs e)
{
   if (e.CloseReason == CloseReason.UserClosing)
   {
      e.Cancel = true;
      Fly_Form2.Hide();
   }
}

protected virtual void Fly_Form2_Visiblechanged(object sender, EventArgs e)
{
   //some code
}
}
我想在EventArgs中添加Form2类型,从现在起为空。 我认为这会使我的代码更简单,因为我有多个表单共享同一代码

我怎么能这么做?我考虑过事件自定义参数的方式,但我不确定类型

你能帮我吗


谢谢这里有一些有用的东西:

 In Form1{
Form2 = new Formtoopen();
Form3 = new Formdata();
Form2.FormClosing +=new FormClosingEventHandler(Form_FormClosing);
Form3.FormClosing += new FormClosingEventHandler(Form_FormClosing);
}

 In Form1{
protected virtual void Form_Closing(object sender, FormClosingEventArgs  e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
  e.Cancel = true;
  ((Form)sender).Hide();
}
}
正在从对象发件人检索具有强制转换形式的发件人


非常感谢帕桑先生

为什么要在其中包含类型。由于事件是由表单本身触发的,因此执行
this.Hide()。或者更确切地说,因为表单是发送者,所以将其强制转换为表单类型,然后将其隐藏。您好,因为当我这样做时,隐藏就是将表单1隐藏在我的表单2后面。代码在Form1中,我从中打开所有表单,并从Form1中处理它们。所以当我调用this时,我是在Form1中。隐藏,它隐藏Form1,而不是我看到的表单…它是在银盘上交给你的:((表单)发送者)。隐藏();