【发布时间】:2014-01-29 12:00:30
【问题描述】:
我的应用程序中有一个带有状态栏的 webBrowser,当
将鼠标悬停在这段代码上:
lbl1.Text = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition).GetAttribute("href");
但它不适用于 iframe。我应该做什么?谢谢。
【问题讨论】:
标签: c# iframe webbrowser-control
我的应用程序中有一个带有状态栏的 webBrowser,当
将鼠标悬停在这段代码上:
lbl1.Text = webBrowser1.Document.GetElementFromPoint(e.ClientMousePosition).GetAttribute("href");
但它不适用于 iframe。我应该做什么?谢谢。
【问题讨论】:
标签: c# iframe webbrowser-control
我发现了。我必须改变这个:
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);
}
}
为页面中的所有框架添加事件。
【讨论】: