示例#1
0
        private void TabPanel_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button != MouseButtons.Right && e.Button != MouseButtons.Middle)
            {
                return;
            }

            for (int i = 0; i < TabPanel.TabPages.Count; i++)
            {
                if (TabPanel.GetTabRect(i).Contains(e.Location))
                {
                    var tab = TabPanel.TabPages[i];

                    if (e.Button == MouseButtons.Right)
                    {
                        tab.ContextMenu = new ContextMenu();
                        tab.ContextMenu.MenuItems.Add(new MenuItem("Disconnect", (s, evt) => Disconnect(tab.Name)));
                        tab.ContextMenu.MenuItems.Add(new MenuItem("Reconnect", (s, evt) => Reconnect(tab.Name)));
                        tab.ContextMenu.Show(TabPanel, e.Location);
                        return;
                    }

                    if (e.Button == MouseButtons.Middle)
                    {
                        Disconnect(tab.Name);
                        return;
                    }
                }
            }
        }