这段代码有什么问题?找不到webbrowser元素的正确位置

时间:2013-01-29 12:13:08

标签: c# winforms webbrowser-control element

private Point GetElementPosition(IHTMLElement current_element)
    {
        int x_add = current_element.offsetWidth;
        int y_add = current_element.offsetHeight;
        int x = current_element.offsetLeft;
        int y = current_element.offsetTop;
        while ((current_element = current_element.parentElement) !=null)
        {
            x+=current_element.offsetLeft;
            y+= current_element.offsetTop;
        }

        y-=(webBrowser.Location.Y);

        return new Point(x+(x_add/2),y-(y_add/2));
    }

该方法应该计算屏幕上IHTMLElement的绝对位置,同时考虑webbrowser控件的位置。然后它返回一个Point变量,该变量对应于元素的中间点。它出什么问题了?它似乎目标低约50-60像素。 编辑:我也尝试了相同的东西,但使用HtmlElement而不是IHTMLElement。没有什么不同之处。我使用SetCursorPos函数将鼠标光标发送到计算结果,但它始终低于所需位置。我没有考虑什么?

0 个答案:

没有答案