C# BHO ONDOCUMENT仅为顶部框架完成?

C# BHO ONDOCUMENT仅为顶部框架完成?,c#,iframe,bho,C#,Iframe,Bho,我正在用CSHARP开发一个BHO,在onDocumentComplete方法中有一个问题。 它在主文档加载的每个IFRAME上运行。我怎样才能避免呢?我只想处理主窗口中的事件 public void OnDocumentComplete(object pDisp, ref object URL) { document = (HTMLDocument)webBrowser.Document; document.body.style.backgroundColo

我正在用CSHARP开发一个BHO,在
onDocumentComplete
方法中有一个问题。
它在主文档加载的每个IFRAME上运行。我怎样才能避免呢?我只想处理主窗口中的事件

public void OnDocumentComplete(object pDisp, ref object URL)
  {
      document = (HTMLDocument)webBrowser.Document;    
      document.body.style.backgroundColor = "red";
  }

this.site
pDisp
进行比较。如果它们相等,则代码在主框架中运行:

public void OnDocumentComplete(object pDisp, ref object URL)
{
    if (pDisp != this.site) {
        // Ignore subframes
        return;
    }
    document = (HTMLDocument)webBrowser.Document;    
    document.body.style.backgroundColor = "red";
} 

这是什么网站?我得到的错误是,我的项目不包含“site”的定义,并且找不到接受类型为“Greyhound.BHO.BHO”的第一个参数的扩展方法“site”(是否缺少using指令或程序集引用?@user280109 SetSite方法(实现IObjectWithSite接口)的对象)每当站点更改时接收。我是c#新手,我在setsite方法中看到站点对象,但无法从ondocumentcomplete方法访问它。我是否需要以某种方式将变量设置为全局变量?@user280109您已将其存储为类实例的成员。