我工作在C#中的浏览器辅助对象(是的,我知道性能不会很大)。
我附上一个处理程序,以我的窗口HTMLWindowEvents2_Event.onload事件。该事件被正确升高(例如,当一个刷新发生)。我看到我的处理程序被调用,类型是正确显示为“加载”事件。
事件处理程序,支持IHTMLEventObj的参数。我不能工作了如何从这个对象抛出onload事件的窗口或文件得到。这甚至可能在这个界面?传递到对象看起来具有空srcElement属性(据推测,因为它是由窗口,文档中没有某些元件引发的事件)。
我需要投进去另一个类或接口此获得的文件?
我会很乐意在C#或C ++的任何帮助。
目前该事件没有源信息。
其假设是,因为你附事件到窗口对象的连接点,你知道哪个窗口是事件源。当您挂钩事件需要保存的参考情况下,你需要的事件源的窗口。
Class HTMLWindowEvents2Sink
{
public HTMLWindowEvents2Sink(IHTMLWindow2 eventSource)
{
this.eventSource=eventSource;
}
IHTMLWindow2 eventSource;
void AdviseEvent()
{
eventSource.load += this.HTMLWindow_onload;
}
....
}
你也有性能损失和潜在的bug农场在这里,通过使用delegate event handling model。