C# eventArgs 表单事件

标签 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, 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();
}
}

从对象发件人中检索带有强制转换形式的发件人。

非常感谢 M.Passant!

关于C# eventArgs 表单事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42716312/

相关文章:

c# - 参数类型 lambda 表达式不可分配给参数类型 int 错误

c# - 为什么我的多线程比单线程慢?

c# - 将区域添加到 MVC 应用程序 - 有什么问题吗?

Javascript 事件处理程序 - 为什么这样做有效?

Python len() 不返回整数

c# - 私有(private)常量与公共(public)只读

javascript - "event"对象被识别而不通过它,在 javascript 函数中?

python - Sqlalchemy 混合/和事件监听器

c - 指向 CharArray 的 IntPointer 和 C 中的类型信息

c++ - bool 在内存中是如何表示的?