public void PutBack(DWebBrowserEvents2_BeforeNavigate2Event e)
 {
     e.pDisp = this.pDisp;
     e.uRL = this.uRL;
     e.flags = this.flags;
     e.targetFrameName = this.targetFrameName;
     e.postData = this.postData;
     e.headers = this.headers;
     e.cancel = this.cancel;
 }
 internal BrowserBeforeNavigate2EventArgs(DWebBrowserEvents2_BeforeNavigate2Event e)
 {
     this.pDisp = e.pDisp;
     this.uRL = e.uRL;
     this.flags = e.flags;
     this.targetFrameName = e.targetFrameName;
     this.postData = e.postData;
     this.headers = e.headers;
     this.cancel = e.cancel;
 }
 public virtual void BeforeNavigate2(object pDisp, ref object uRL, ref object flags, ref object targetFrameName, ref object postData, ref object headers, ref bool cancel)
 {
     DWebBrowserEvents2_BeforeNavigate2Event beforenavigate2Event = new DWebBrowserEvents2_BeforeNavigate2Event(pDisp, uRL, flags, targetFrameName, postData, headers, cancel);
     this.parent.RaiseOnBeforeNavigate2(this.parent, beforenavigate2Event);
     uRL = beforenavigate2Event.uRL;
     flags = beforenavigate2Event.flags;
     targetFrameName = beforenavigate2Event.targetFrameName;
     postData = beforenavigate2Event.postData;
     headers = beforenavigate2Event.headers;
     cancel = beforenavigate2Event.cancel;
 }
        private void AxWebBrowser_BeforeNavigate2(object sender, DWebBrowserEvents2_BeforeNavigate2Event e)
        {
            BrowserBeforeNavigate2EventArgs args = new BrowserBeforeNavigate2EventArgs(e);

            IntPtr thisPtr = Marshal.GetIDispatchForObject(e.pDisp);
            IntPtr browserPtr = Marshal.GetIDispatchForObject(m_browser.GetOcx());
            bool isDocument = (thisPtr == browserPtr);
            Marshal.Release(thisPtr);
            Marshal.Release(browserPtr);

            if (isDocument)
                OnBeforeNavigate2Document(args);
            else
                OnBeforeNavigate2Frame(args);

            args.PutBack(e);
        }
 internal void RaiseOnBeforeNavigate2(object sender, DWebBrowserEvents2_BeforeNavigate2Event e)
 {
     if ((this.BeforeNavigate2 != null))
     {
         this.BeforeNavigate2(sender, e);
     }
 }