C# 需要创建自定义事件处理程序的帮助吗

C# 需要创建自定义事件处理程序的帮助吗,c#,event-handling,C#,Event Handling,上面向我的事件函数发送“对象发送器”和“MouseEventArgs e”。我需要发送另一个对象,但如果我使用: new System.Windows.Forms.MouseEventHandler(this.eventFunction) 它不起作用。它只是说有一个无效的论点。即使我明目张胆地向它发送一个对象,MouseEventArgs,object 任何人都可以提供任何见解吗?没有原因,对象发送者应该已经拥有您需要传递给事件的信息。事件将附加到对象 您可以创建一个可以从事件中调用的方法,以

上面向我的事件函数发送“对象发送器”和“MouseEventArgs e”。我需要发送另一个对象,但如果我使用:

new System.Windows.Forms.MouseEventHandler(this.eventFunction)
它不起作用。它只是说有一个无效的论点。即使我明目张胆地向它发送一个对象,MouseEventArgs,object


任何人都可以提供任何见解吗?

没有原因,对象发送者应该已经拥有您需要传递给事件的信息。事件将附加到对象

您可以创建一个可以从事件中调用的方法,以转到并检索所需的对象或数据


或者,您可能将需要引用的对象的范围设置得太高,使其已可用于事件。

您可以执行以下操作:

System.Windows.Forms.MouseEventHandler(this.eventFunction(object, MouseEventArgs, objectINeed));

但是你为什么需要它呢?

你想传递的对象是什么?但是,我认为你应该能够从
MouseEventArgs
EventArgs
继承并创建自己的。你发布的代码片段没有什么意义,那只是无法编译的代码。鼠标事件由内置在.NET framework中的代码生成。响应Windows发送的通知。该代码将只向事件处理程序传递两个参数,一个发送方和一个MouseEventArgs。它只知道有关Windows通知的信息。只有重新编写.NET framework代码或从根本上改变Windows报告鼠标事件的方式,才能让代码发送其他内容。这只是向Windows窗体对象添加事件处理程序。在本例中,使用日历。它将是…calendar+=new System.Windows.Forms.MouseEventHandler(this.eventFunction);我想过要这么做。我必须创建一个具有类作用域的对象,因为我要发送的对象是动态创建的,并且只有我从中调用它的特定方法的作用域。我只是想避免它,因为在任何给定的时间都可能有多个,所以我必须稍微更改实现。我可以以某种方式访问它,因为当我离开该方法时它仍然存在。我只是想看看是否有一种方式我错过了,可以让我把它与活动一起发送。
new System.Windows.Forms.MouseEventHandler((s, e) => this.eventFunction(objectINeed, e));