2009-04-24 7 views
3

WebBrowser 컨트롤에서 웹 페이지의 Y 스크롤 인덱스를 가져 오려고하지만 내장 스크롤 막대 값에 액세스 할 수 없습니다.WebBrowser 컨트롤에서 스크롤 값 가져 오기 C#

어떤 아이디어?

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

합니다 (<html> 요소가 될 것에 얻을 수있는 더 좋은 방법 :

답변

4

은 (당신이 말하는 같은 DOCTYPE과) 표준 모드에서 IE를 들어 scrollTop<html> 요소의 속성이 아닌 <body>입니다 좋아, 누구든지 알고 있다면)

+0

HtmlDocument에는 VS에 따라 documentElement 속성이 없습니다. S는 다른 라이브러리를 사용하고 있습니까? –

+0

저는 C++을 통해 COM을 사용하고 IHTMLDocument3를 통해 documentElement에 액세스합니다. C#에서는별로 사용하지 않습니다! 8-) 테스트 된 C# 코드를 제공하기 위해 내 대답을 변경했습니다. 미안합니다. 처음 테스트했을 것입니다. – RichieHindle

+0

고마워요! –

1

HTML 요소를 대상으로 타겟팅하려고합니까? 그것이 당신이 이것을 할 수 있다면 당신이 후 ...

htmlDoc.GetElementById ("tag_id_string_goes_here") .ScrollIntoView (true);

true는 요소를 맨 위에 정렬하고 false는 요소의 맨 아래에 맞 춥니 다. ScrollRectangle을 사용하여 스크롤 영역의 크기를 가져올 수도 있습니다.

1
WebBrowser1.Document.Body.ScrollTop; 
WebBrowser1.Document.Body.ScrollRectangle.Height; 
관련 문제