我有这个事件处理程序
Temp.MouseLeftButtonDown += new MouseButtonEventHandler(Temp_MouseLeftButtonDown);
但我想在Temp_MouseLeftButtonDown函数中发送一些参数来访问。 我怎么能分配它?
答案 0 :(得分:5)
你不能直接这样做,因为事件处理程序只能期望与MouseButtonEventHandler的兼容签名。
如果您使用的是C#3,最简单的方法是使用lambda表达式,例如:
Temp.MouseLeftButtonDown +=
(sender, args) => Temp_MouseLeftButtonDown(sender, args, "extra argument");
这有帮助吗?当然,如果你不需要发送者和事件参数,你就不必提供它们。
在C#2中,您可以以相同的方式使用匿名方法。