protected void OnStartNavigate(BrowserExtendedNavigatingEventArgs e)
 {
     if (e == null)
     {
         throw new ArgumentNullException("e");
     }
     if (this.StartNavigate != null)
     {
         this.StartNavigate(this, e);
     }
 }
            public void BeforeNavigate2(object pDisp, ref object URL, ref object flags, ref object targetFrameName, ref object postData, ref object headers, ref bool cancel)
            {
                Uri    url   = new Uri(URL.ToString());
                string frame = null;

                if (targetFrameName != null)
                {
                    frame = targetFrameName.ToString();
                }
                BrowserExtendedNavigatingEventArgs browserExtendedNavigatingEventArgs = new BrowserExtendedNavigatingEventArgs(pDisp, url, frame, UrlContext.None);

                this._Browser.OnStartNavigate(browserExtendedNavigatingEventArgs);
                cancel = browserExtendedNavigatingEventArgs.Cancel;
                pDisp  = browserExtendedNavigatingEventArgs.AutomationObject;
            }