IE中,加载任意页面后,把鼠标放到某个锚点上,状态栏会显示这个锚点的链接。从右键菜单的‘属性’对话框也可以看到这个链接。或如果没有锚点,比如一幅图片,其属性对话框也可看出该图片的链接。在WinForm中的WebBrowser控件中,要实时追踪并取得鼠标停留处的文字和链接,或属性对话框里显示的链接,该如何做到?
锚点处的链接可以通过控件的StatusText属性得到,但其文字或图片的链接该怎样得到?

解决方案 »

  1.   

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                foreach (HtmlElement link in this.webBrowser1.Document.All)
                {
                    if (link.DomElement.GetType() == typeof(mshtml.HTMLAnchorElementClass))
                    {
                        ((mshtml.HTMLAnchorElementClass)link.DomElement).HTMLAnchorEvents2_Event_onclick += new HTMLAnchorEvents2_onclickEventHandler(Form1_HTMLAnchorEvents2_Event_onclick);
                    }
                }        }        bool Form1_HTMLAnchorEvents2_Event_onclick(IHTMLEventObj pEvtObj)
            {
                string str = ((mshtml.HTMLAnchorElementClass)pEvtObj.srcElement).href;
                MessageBox.Show(str);
                return true;        }连接地址