zoukankan      html  css  js  c++  java
  • 获取webbrowser中元素的屏幕坐标

    /// <summary>
            /// 获取webbrowser中html元素的屏幕坐标
            /// </summary>
            /// <param name="webBrowser"></param>
            /// <param name="htmlElem"></param>
            /// <returns></returns>
            public Point GetHtmlElementClientPoint(WebBrowser webBrowser, HtmlElement htmlElement)
            {
                Point p = GetOffset(htmlElement);
    
                HTMLDocument doc = webBrowser.Document.DomDocument as HTMLDocument;
    
                int sl = int.Parse(doc.documentElement.getAttribute("ScrollLeft").ToString());
                int st = int.Parse(doc.documentElement.getAttribute("ScrollTop").ToString());
    
                //加上窗体的位置及控件的位置及窗体边框,50和8是窗体边框,不同的元素宽高不一样,需要可适当调整
                p.X += htmlElement.OffsetRectangle.Left + this.Left + webBrowser1.Left + 8 - sl;
                p.Y += htmlElement.OffsetRectangle.Top + this.Top + webBrowser1.Top + 50 - st;
                return p;
            }
    
            private Point GetOffset(HtmlElement el)
            {
                //get element pos
                Point pos = new Point(el.OffsetRectangle.Left, el.OffsetRectangle.Top);
    
                //get the parents pos
                HtmlElement tempEl = el.OffsetParent;
                while (tempEl != null)
                {
                    pos.X += tempEl.OffsetRectangle.Left;
                    pos.Y += tempEl.OffsetRectangle.Top;
                    tempEl = tempEl.OffsetParent;
                }
                return pos;
            }
    
    //调用
    HtmlElement txtCodeHE = htmlDoc.GetElementById("txtCode");
    Point txtCodeHEClientPoint = GetHtmlElementClientPoint(webBrowser1, txtCodeHE);
    Cursor.Position = txtCodeHEClientPoint;
  • 相关阅读:
    调试导论
    CSP-S2 2020 游记
    【题解】51nod 1327 棋盘游戏
    基础数学专题复习
    ubuntu 下 zsh 插件及安装方式
    ubuntu 下 Deepin-TIM 折腾笔记
    微服务学习笔记
    使用 Portainer 管理 Docker 笔记(含本地和远程)
    博客收藏
    定制unittest测试报告【转】
  • 原文地址:https://www.cnblogs.com/soundcode/p/12512638.html
Copyright © 2011-2022 走看看