在WebBrowser控件中获取鼠标在网页上点击的位置

WebBrowser控件中获取鼠标在网页(不是浏览器窗口)上点击的位置,只有代码了,没有讲解:

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)

        {

            webBrowser1.Document.MouseDown += new HtmlElementEventHandler(Document_MouseDown);

        }

 

        void Document_MouseDown(object sender, HtmlElementEventArgs e)

        {

            IHTMLDocument2 document = webBrowser1.Document.DomDocument as IHTMLDocument2;

            IHTMLElement2 element = document.body as IHTMLElement2;

            int scrolltop = webBrowser1.Document.Body.ScrollTop - element.clientTop;

            int scrollLeft = webBrowser1.Document.Body.ScrollLeft - element.clientLeft;

 

            if (document.body.parentElement != null)

            {

                IHTMLElement2 parent = document.body.parentElement as IHTMLElement2;

                scrolltop += parent.scrollTop - parent.clientTop;

                scrollLeft += parent.scrollLeft - parent.clientLeft;

            }

 

            int positionX = e.ClientMousePosition.X + scrollLeft;

            int positionY = e.ClientMousePosition.Y + scrolltop;

 

            Debug.WriteLine(string.Format("positionX: {0}, positionY: {1}",

                positionX, positionY));

 

原文地址:https://www.cnblogs.com/killmyday/p/1522198.html