コード例 #1
0
        private void tabControl1_MouseClick(object sender, MouseEventArgs e)//鼠标中键事件删除标签页
        {
            if (e.Button == MouseButtons.Middle)
            {
                Point     p      = new Point(e.X, e.Y);
                Rectangle recTab = new Rectangle();
                for (int i = 0; i < tabControl1.TabPages.Count; i++)
                {
                    recTab = tabControl1.GetTabRect(i);
                    if (recTab.Contains(p))
                    {
                        foreach (Control j in tabControl1.TabPages[i].Controls)
                        {
                            if (j is Form1)
                            {
                                Form1 form = (Form1)j;
                                form.Dispose();
                            }
                        }
                        tabControl1.TabPages.RemoveAt(i);
                        if (tabControl1.TabPages.Count == 0)
                        {
                            this.Dispose();
                        }
                        break;
                    }
                }
            }
            TabPage tb = tabControl1.SelectedTab;

            button1.Location = new Point(tabControl1.ItemSize.Width * tabControl1.TabPages.Count, 0);
        }