WebBrowserControl Scroll to Bottom
Challenge
I am working on a simple chat application using a System.Windows.Forms.WebBrowser Control to display the messages between the user and the recipient. How do I get the control to automatically scroll to the bottom every time I update the DocumentText of the control?
Solution
I tried to Google it and found below stuff which doesn’t work as expected.
ctlWebBrowser.Document.Body.ScrollIntoView(false);
//
http://stackoverflow.com/questions/990651/system-windows-forms-webbrowser-scroll-to-end
webCtrl.Document.Window.ScrollTo(0, int.MaxValue);
//
http://stackoverflow.com/questions/46454/webbrowsercontrol-scroll-to-bottom
Finally, I did it using following way:
private void ScrollMessageIntoView() { // MOST IMP : processes all windows messages queue System.Windows.Forms.Application.DoEvents(); if (webBrowserControlRcdMsg.Document != null) { webBrowserControlRcdMsg.Document.Window.ScrollTo(0, webBrowserControlRcdMsg.Document.Body.ScrollRectangle.Height); } }
Thanks to this Link : http://social.msdn.microsoft.com/forums/en-US/winforms/thread/74694382-dc0d-4824-ac8f-3a4046f45111/
It works fine. Merci !