从WebBrowser控件C#获取滚动值

时间:2009-04-24 13:13:33

标签: c# webbrowser-control scrollbar

我正在尝试在WebBrowser控件中获取网页的Y滚动索引,但我无法访问内置滚动条的值。

任何想法?

3 个答案:

答案 0 :(得分:4)

对于标准模式下的IE(如您所说,使用doctype)scrollTop<html>元素的属性,而不是<body>

HtmlDocument htmlDoc = this.webBrowser1.Document;
int scrollTop = htmlDoc.GetElementsByTagName("HTML")[0].ScrollTop;

(如果有人知道,那么获得<html>元素的更好方法会很好。)

答案 1 :(得分:1)

您是否尝试定位HTML元素以将其置于视图中?如果你能做到这一点就是这样......

htmlDoc.GetElementById( “tag_id_string_goes_here”)ScrollIntoView(真);

true将其与top对齐,false与元素的底部对齐。您还可以使用ScrollRectangle来获取可滚动区域的尺寸。

答案 2 :(得分:1)

WebBrowser1.Document.Body.ScrollTop;
WebBrowser1.Document.Body.ScrollRectangle.Height;