【问题标题】:c# webBrowser does not work with Iframesc# webBrowser 不适用于 iframe
【发布时间】:2014-01-29 12:00:30
【问题描述】:

我的应用程序中有一个带有状态栏的 webBrowser,当

将鼠标悬停在这段代码上:

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

但它不适用于 iframe。我应该做什么?谢谢。

【问题讨论】:

    标签: c# iframe webbrowser-control


    【解决方案1】:

    我发现了。我必须改变这个:

    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);
    
            }
    
        }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-08
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-29
      相关资源
      最近更新 更多