2009-04-24 6 views

Antwort

4

Für IE im Standardmodus (mit einem Doctype, wie Sie sagen) scrollTop ist eine Eigenschaft des <html> Element, nicht die <body>:

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

(A schöner Weg, um das wäre <html> Element zu erhalten gut, wenn jemand davon weiß.)

+0

Htmldocument doesnt haben eine Eigenschaft document nach VS: S verwenden Sie eine andere Bibliothek? –

+0

Ich verwende COM über C++ und documentElement über IHTMLDocument3 zugreifen. Nicht viel in C# verwenden! 8-) Ich habe meine Antwort geändert, um einen getesteten C# -Code zu geben - tut mir leid, ich hätte es beim ersten Mal testen sollen. – RichieHindle

+0

danke das funktioniert ein Genuss! –

1

versuchen Sie, ein HTML-Element zu tarnen, um es in Sicht zu bringen? Wenn das der Fall ist, nach dem Sie dies tun können ...

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

true richtet es mit der oberen und false mit der Unterseite des Elements aus. Sie können auch ScrollRectangle verwenden, um die Abmessungen der scrollbaren Region abzurufen.

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