private void dotNetBarManager1_PopupOpen(object sender, DevComponents.DotNetBar.PopupOpenEventArgs e) { BaseItem item = sender as BaseItem; if (item == null) { return; } if (item.Name == "bTabContext") { // Enable/Disable the document related menu items based on where user right-clicked... TabItem tab = TabItemFromPoint(tabStrip1.PointToClient(Control.MousePosition)); // If no tab is under the mouse disable document related items... if (tab == null) { item.SubItems["bClose"].Enabled = false; item.SubItems["bSave"].Enabled = false; } else { item.SubItems["bClose"].Enabled = true; item.SubItems["bSave"].Enabled = true; // Make sure that tab under the mouse is active tab tabStrip1.SelectedTab = tab; } } else if (item.Name == "bDockContext") { Bar bar = dotNetBarManager1.Bars["barTaskList"]; // Display our context menu only if user clicks on the bar caption or tab strip control if (!bar.GrabHandleRect.Contains(bar.PointToClient(Control.MousePosition)) && bar.DockTabControl != null && !bar.DockTabControl.Bounds.Contains(bar.PointToClient(Control.MousePosition))) { e.Cancel = true; return; } item.SubItems.Clear(); ButtonItem contextItem = null; foreach (BaseItem dockItem in bar.Items) { contextItem = new ButtonItem(dockItem.Name, dockItem.Text); contextItem.GlobalItem = false; contextItem.Click += new EventHandler(this.DockContextClick); item.SubItems.Add(contextItem); contextItem.Checked = dockItem.Visible; } contextItem = new ButtonItem("bc_tabnavigation", "Tab Navigation"); contextItem.Checked = bar.TabNavigation; contextItem.BeginGroup = true; contextItem.Click += new EventHandler(this.DockContextClick); item.SubItems.Add(contextItem); PopupItem popup = item as PopupItem; } }