首先,我是这个论坛的新手,对编程也比较陌生。我的问题是我无法分离以前附加的事件处理程序。至少,以下代码中的 DetachEventHandler 没有这样做:
private void addHandlersToElement(HtmlElement thiselement)
{
thiselement.DetachEventHandler("onclick", delegate { myClickHandler(thiselement, EventArgs.Empty); });
thiselement.AttachEventHandler("onclick", delegate { myClickHandler(thiselement, EventArgs.Empty); });
}
它显然不起作用,因为事件处理程序中的代码执行的次数与我调用 addHandlersToElements的次数一样多,也就是说,attach 有效,但 detach 无效。
事实是,我对委托不太了解,只是它们是方法的包装器,可以将它们作为参数传递。我从一些帖子中窃取了这个委托{}块,因为这似乎是唯一可以将thiselement作为发送者对象传递的解决方案(我在我的实际处理程序方法中指的是)。使用
new EventHandler(myMouseoverEventHandler)
for 参数实际上有效,但是,AFAIK,我无法通过发件人。
任何帮助,将不胜感激。