If you have ever had problems with trying to catch navigation issues with the built in .Net WebBrowser this will be of much help to you. I came across this msdn article that shows you how to create a custom control which inherits from the WebBrowser. This route eliminates having to references to legacy COM objects.
Check out the article here:
http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.createsink(VS.80).aspx