c#webBrowser不适用于iframe

时间:2014-01-29 12:00:30

标签: c# iframe webbrowser-control

我的应用程序中有一个webBrowser,状态栏显示

时的链接地址

鼠标悬停此代码:

lbl1.Text = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition).GetAttribute("href");

但它在iframe中不起作用。我应该做什么?感谢。

1 个答案:

答案 0 :(得分:0)

我找到了。我必须改变这个:

lbl1.Text = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition).GetAttribute("href");

到此编辑的行:

lbl1.Text = (sender as HtmlDocument).GetElementFromPoint(e.ClientMousePosition).GetAttribute("href")

这是完整的代码块:

    void Document_MouseOver(object sender, HtmlElementEventArgs e)
    {
      lbl1.Text = (sender as HtmlDocument).GetElementFromPoint(e.ClientMousePosition).GetAttribute("href");
    }

然后将此块代码添加到要应用于WebBrowser的块代码

        string html = string.Empty;

        foreach (HtmlWindow frame in webBrowser1.Document.Window.Frames)
        {

            frame.Document.MouseUp+=new HtmlElementEventHandler(Document_MouseUp);

            frame.Document.MouseOver+=new HtmlElementEventHandler(Document_MouseOver);

        }

    }

为页面中的所有帧添加事件。