sometimes you need a "pause" so that it has time to show up in the textbox before the click is submitted. try adding a timer with an interval of 1000 and put the "click" line of code in the timer's tick event. leave the textbox line where it's at. see if it works then. this all assumes that the search button has an ID of "Search" btw. Usually the ID for form submit buttons will be "Submit".
EDIT: The HTML for that submit button is:
Code:
<button type="submit" onclick="var q = $("q");if (q.value == q.getAttribute("placeholder")) {q.focus(); return false;}" title="Search"><span class="hidden_elem">Search</span></button>
It does not have an ID, so you're trying to click something that isn't there. What you'll need to do is loop through the HTMLCollection's "input" tags and test to see if the "title" attribute is equal to "Search". Once it is, you know you have the right button and can perform the click.
something like:
vb.net Code:
Dim webBrowserDocument As HtmlDocument = webBrowser.Document
Dim hec As HtmlElementCollection = webBrowserDocument.GetElementsByTagName("input")
For Each element As HtmlElement In hec
If String.Compare(element.GetAttribute("title"), "Search") = 0 Then 'Found it
'Click it here
End if
Next
Untested, but should be close.