Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scroll to top of WebBrowser control

How can you scroll to the top of a web broswer control. The page I am loading has an iframe and the scroll bar is starting 20px down. It only happens in my application. I would like to auto scroll to the top.

like image 586
Sally Avatar asked Dec 09 '25 13:12

Sally


2 Answers

Quick search yields: webBrowser1.Document.Window.ScrollTo(0, 200);

like image 200
Brandon Boone Avatar answered Dec 12 '25 03:12

Brandon Boone


If what you mean is wanting to scroll the content of the iframe to the top, the following should help.

First you will need 2 things:

  1. Add reference to C:\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll
  2. edit your <iframe> tag so that it has an id, eg: id="something"

Finally, the code:

HtmlElement ele = webBrowser1.Document.GetElementById("something");
mshtml.HTMLIFrameClass frame = ele.DomElement as mshtml.HTMLIFrameClass;
if (frame != null)
{
    mshtml.HTMLDocumentClass doc = frame.document as mshtml.HTMLDocumentClass;
    if (doc != null)
    {
        object i = 0;
        mshtml.HTMLWindow2Class win = doc.frames.item(ref i) as mshtml.HTMLWindow2Class;
        if(win != null)
            win.scrollTo(0, 0);
    }
}
like image 43
Fun Mun Pieng Avatar answered Dec 12 '25 03:12

Fun Mun Pieng



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!