事件args分配

时间:2010-06-08 09:11:58

标签: c# event-handling mouseevent eventargs

我有这个事件处理程序

Temp.MouseLeftButtonDown += new MouseButtonEventHandler(Temp_MouseLeftButtonDown);

但我想在Temp_MouseLeftButtonDown函数中发送一些参数来访问。 我怎么能分配它?

1 个答案:

答案 0 :(得分:5)

你不能直接这样做,因为事件处理程序只能期望与MouseButtonEventHandler的兼容签名。

如果您使用的是C#3,最简单的方法是使用lambda表达式,例如:

Temp.MouseLeftButtonDown +=
   (sender, args) => Temp_MouseLeftButtonDown(sender, args, "extra argument");

这有帮助吗?当然,如果你不需要发送者和事件参数,你就不必提供它们。

在C#2中,您可以以相同的方式使用匿名方法。