获取webbrowser中元素的屏幕坐标
生活随笔
收集整理的這篇文章主要介紹了
获取webbrowser中元素的屏幕坐标
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/// <summary>/// 獲取webbrowser中html元素的屏幕坐標(biāo)/// </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是窗體邊框,不同的元素寬高不一樣,需要可適當(dāng)調(diào)整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 posPoint pos = new Point(el.OffsetRectangle.Left, el.OffsetRectangle.Top);//get the parents posHtmlElement tempEl = el.OffsetParent;while (tempEl != null){pos.X += tempEl.OffsetRectangle.Left;pos.Y += tempEl.OffsetRectangle.Top;tempEl = tempEl.OffsetParent;}return pos;}//調(diào)用
HtmlElement txtCodeHE = htmlDoc.GetElementById("txtCode");
Point txtCodeHEClientPoint = GetHtmlElementClientPoint(webBrowser1, txtCodeHE);
Cursor.Position = txtCodeHEClientPoint;
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的获取webbrowser中元素的屏幕坐标的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 得臣与寓目焉翻译(寓目皆乡思)
- 下一篇: WebBrowser控件跨域访问页面内容