void FavoritesOnDropDownOpening(object objSrc, EventArgs args) { ToolStripMenuItem itemFavorites = objSrc as ToolStripMenuItem; BrowserChild bc = ActiveMdiChild as BrowserChild; // Remove everything from the drop-down menu. itemFavorites.DropDownItems.Clear(); itemAdd = new ToolStripMenuItem("&Add to favorites"); itemAdd.Enabled = (bc != null); itemAdd.Click += AddOnClick; itemFavorites.DropDownItems.Add(itemAdd); itemSetHome = new ToolStripMenuItem("&Make this your home"); itemSetHome.Enabled = (bc != null); itemSetHome.Click += SetHomeOnClick; itemFavorites.DropDownItems.Add(itemSetHome); itemFavorites.DropDownItems.Add(new ToolStripSeparator()); // Add favorites to the menu; foreach (Favorite fav in settings.Favorites) { ToolStripMenuItem item = new ToolStripMenuItem(); item.Text = fav.Title; item.Tag = fav.Url; item.Click += FavoriteOnClick; itemFavorites.DropDownItems.Add(item); } }
// The Go method goes to a URL and optionally adds it to the list. void Go(string strUrl, bool bAddToList) { BrowserChild bcNew = new BrowserChild(); bcNew.MdiParent = this; bcNew.Icon = Icon; bcNew.WebBrowser.Navigate(strUrl); // We're setting these from the settings object, but not // updating them. That would require installing event // handlers for Resize and saving the user's last // preference. bcNew.Bounds = settings.ChildWindowBounds; bcNew.WindowState = settings.ChildWindowState; bcNew.Show(); // If the URL was typed in manually, add it to the list // to be displayed by the combo boxes. if (bAddToList) { if (settings.ManualUrls.IndexOf(strUrl) == -1) { settings.ManualUrls.Add(strUrl); settings.ManualUrls.Sort(); settings.Save(strAppData); } } }
// When active MDI Child changes, alter event handlers and ToolStrip. protected override void OnMdiChildActivate(EventArgs args) { base.OnMdiChildActivate(args); if (bcLastActive != null) { bcLastActive.WebBrowser.CanGoBackChanged -= OnCanGoBackChanged; bcLastActive.WebBrowser.CanGoForwardChanged -= OnCanGoForwardChanged; } BrowserChild bc = ActiveMdiChild as BrowserChild; if (bc != null) { bc.WebBrowser.CanGoBackChanged += OnCanGoBackChanged; bc.WebBrowser.CanGoForwardChanged += OnCanGoForwardChanged; btnBack.Enabled = bc.WebBrowser.CanGoBack; btnForward.Enabled = bc.WebBrowser.CanGoForward; } else { btnBack.Enabled = false; btnForward.Enabled = false; } btnStop.Enabled = (bc != null); btnRefresh.Enabled = (bc != null); btnHome.Enabled = (bc != null); btnPrint.Enabled = (bc != null); bcLastActive = bc; }
void SetHomeOnClick(object objSrc, EventArgs args) { BrowserChild bc = ActiveMdiChild as BrowserChild; if (bc != null) { settings.Home = bc.WebBrowser.Url.ToString(); } }
void PrintOnClick(object objSrc, EventArgs args) { BrowserChild bcActive = ActiveMdiChild as BrowserChild; if (bcActive != null) { bcActive.WebBrowser.Print(); } }
void FileOnDropDownOpening(object objSrc, EventArgs args) { BrowserChild bcActive = ActiveMdiChild as BrowserChild; itemSaveAs.Enabled = (bcActive != null); itemPrint.Enabled = (bcActive != null); itemPreview.Enabled = (bcActive != null); itemProps.Enabled = (bcActive != null); }
void PropertiesOnClick(object objSrc, EventArgs args) { BrowserChild bcActive = ActiveMdiChild as BrowserChild; if (bcActive != null) { bcActive.WebBrowser.ShowPropertiesDialog(); } }
void PageSetupOnClick(object objSrc, EventArgs args) { BrowserChild bcActive = ActiveMdiChild as BrowserChild; if (bcActive != null) { bcActive.WebBrowser.ShowPageSetupDialog(); } }
void HomeOnClick(object objSrc, EventArgs args) { BrowserChild bc = ActiveMdiChild as BrowserChild; if (bc != null) { bc.WebBrowser.Url = new Uri(settings.Home); } }
void RefreshOnClick(object objSrc, EventArgs args) { BrowserChild bc = ActiveMdiChild as BrowserChild; if (bc != null) { bc.WebBrowser.Refresh(); } }
void StopOnClick(object objSrc, EventArgs args) { BrowserChild bc = ActiveMdiChild as BrowserChild; if (bc != null) { bc.WebBrowser.Stop(); } }
void ForwardOnClick(object objSrc, EventArgs args) { BrowserChild bc = ActiveMdiChild as BrowserChild; if (bc != null) { bc.WebBrowser.GoForward(); } }
void AddOnClick(object objSrc, EventArgs args) { BrowserChild bc = ActiveMdiChild as BrowserChild; if (bc != null) { Favorite fav = new Favorite(bc.WebBrowser.DocumentTitle, bc.WebBrowser.Url.ToString()); settings.Favorites.Add(fav); settings.Favorites.Sort(); settings.Save(strAppData); } }
void NewOnClick(object objSrc, EventArgs args) { BrowserChild bcActive = ActiveMdiChild as BrowserChild; string strUrl; if (bcActive != null) { strUrl = bcActive.WebBrowser.Url.ToString(); } else { strUrl = settings.Home; } Go(strUrl, false); }
// Event handler for View menu dropping down. void ViewOnDropDownOpening(object objSrc, EventArgs args) { BrowserChild bc = ActiveMdiChild as BrowserChild; bool bActiveChild = bc != null; // Disable all these items if there's no active MDI child. itemBack.Enabled = bActiveChild; itemForward.Enabled = bActiveChild; itemStop.Enabled = bActiveChild; itemRefresh.Enabled = bActiveChild; itemHome.Enabled = bActiveChild; itemSource.Enabled = bActiveChild; // If there's an active child, enable these items based on properties. if (bActiveChild) { itemBack.Enabled = bc.WebBrowser.CanGoBack; itemForward.Enabled = bc.WebBrowser.CanGoForward; } }
// View Source menu item. void ViewSourceOnClick(object objSrc, EventArgs args) { BrowserChild bc = ActiveMdiChild as BrowserChild; if (bc != null) { Form frm = new Form(); frm.Text = bc.WebBrowser.DocumentTitle; TextBox txtbox = new TextBox(); txtbox.Parent = frm; txtbox.Multiline = true; txtbox.WordWrap = false; txtbox.ScrollBars = ScrollBars.Both; txtbox.Dock = DockStyle.Fill; txtbox.Text = bc.WebBrowser.DocumentText; txtbox.Select(0, 0); frm.Show(); } }