Unlike say a RichTextBox control which has a enum ScrollBars property, the WebBrowser control just has a boolean property “ScrollBarsEnabled”.
Setting it ScrollBarsEnabled = True, the vertical scrollbar shows all the time (even when not needed). The horizontal scrollbar behaves as one would expect and only appears when it’s needed.
Setting ScrollBarsEnabled = False;
neither scrollbar ever shows up.
Sample Code:
public Form1()
{
InitializeComponent();
WebBrowser webBrowser1 = new WebBrowser();
webBrowser1.Size = new Size(this.Width - 50, this.Height - 50);
webBrowser1.Location = new Point(25, 10);
webBrowser1.AllowWebBrowserDrop = false;
webBrowser1.ScrollBarsEnabled = true;
string preText = "<html><head></head><body><div>";
string bodyText = "Hello World";
string postText = "</body></div></html>";
webBrowser1.DocumentText = preText + bodyText + postText;
this.Controls.Add(webBrowser1);
}

Other things tried:
- Tried in .Net 4.0, & .Net 2.0.
- Tried with computers that had IE6 and IE8
- Tried loading an external page (using .Navigate(“someurl”) instead of setting DocumentText.
Scroll bars can be controlled in most browsers via CSS, though useful only if you have control of the content:
Of course, whether the WebBrowser control honours this is yet to be seen.
See http://www.w3schools.com/cssref/pr_pos_overflow.asp