It is up to you how to handle navigation events. Browsers probably supress navigation events that doesn't change the current resource. You could do the same:
private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
WebBrowser browser = sender as WebBrowser;
// only change the url if the Scheme is not javascript
if (!e.Url.Scheme.StartsWith(
"javascript",
StringComparison.CurrentCultureIgnoreCase)
&& ( browser !=null && (e.Url.AbsolutePath == browser.Url.AbsolutePath)) )
{
tbUrl.Text = e.Url.ToString();
}
}