/// <summary> /// Raises the <see cref="StartNavigate"/> event /// </summary> /// <exception cref="ArgumentNullException">Thrown when BrowserExtendedNavigatingEventArgs is null</exception> protected void OnStartNavigate(BrowserExtendedNavigatingEventArgs e) { if (e == null) { throw new ArgumentNullException("e"); } if (this.StartNavigate != null) { this.StartNavigate(this, e); } }
/// <summary> /// Raises the <see cref="StartNewWindow"/> event /// </summary> /// <exception cref="ArgumentNullException">Thrown when BrowserExtendedNavigatingEventArgs is null</exception> protected void OnStartNewWindow(BrowserExtendedNavigatingEventArgs e, NativeMethods.NWMF flags) { if (e == null) { throw new ArgumentNullException("e"); } if ((flags & NativeMethods.NWMF.NWMF_SUGGESTWINDOW) == NativeMethods.NWMF.NWMF_SUGGESTWINDOW) { InvokeStartNewWindow(e); } else { InvokeStartNewTab(e); } }
void browser_StartNewWindow(object sender, BrowserExtendedNavigatingEventArgs e) { var index = tbMain.SelectedIndex; var tab = CreateNewBrowserTab(); var page = new BrowserPage(); e.AutomationObject = _browserTabs[tab].ActiveXInstance; tbMain.SelectedIndex = index; tbMain.Items.Remove(tab); page.Closing += page_Closing; page.AssignTab(tab, _browserTabs[tab]); //page.Show(); //e.Cancel = true; //_browserTabs[tab].Navigate(e.Url); //Navigate(e.Url.ToString()); }
//Implement whichever events you wish public void BeforeNavigate2(object pDisp, ref object URL, ref object flags, ref object targetFrameName, ref object postData, ref object headers, ref bool cancel) { Uri urlUri = new Uri(URL.ToString()); string tFrame = null; if (targetFrameName != null) { tFrame = targetFrameName.ToString(); } BrowserExtendedNavigatingEventArgs args = new BrowserExtendedNavigatingEventArgs(pDisp, urlUri, tFrame); _Browser.OnStartNavigate(args); cancel = args.Cancel; pDisp = args.AutomationObject; }