TabPage的动态添加

在做这个的时候找到了一个第三方控件来制作。

DOTNETBAR.

使用其中的TabControl控件,主要属性如下:

TabItem:添加一个新的标签。

TabControlPanel:添加标签的主体容器。

TabControlPanel.Controls.Add(控件)事件,向容器中添加组件。

tabItem.AttachedControl = panel 将容器添加到对应的标签上。

但是后来发现第三方控件还是不如自己写。

因为我发现一个很大的问题:第三方控件添加双击关闭标签事件的时候没有相应的接口,而.NET自带的TabControl却很方便。

//双击删除标签
private void tabControl1_MouseDoubleClick(object sender, MouseEventArgs e)
{
    TabControl tab = (TabControl)sender;
    Point pt = new Point(e.X,e.Y);
    if (tab.TabPages.Count > 1)
    {
        for (int i = 0; i < tab.TabPages.Count; i++)
        {
            Rectangle recTab = tab.GetTabRect(i);
            if (recTab.Contains(pt))
            {
                TabPage seltab = this.tabControl1.SelectedTab;
                int seltabindex = this.tabControl1.SelectedIndex;

                tab.TabPages.Remove(seltab);
                tab.SelectedIndex = seltabindex - 1;

                return;
            }

        }
    }
}

----------------------其他----------------------

如何在.NET中调用记事本或者计算器:(引用命名空间:using System.Diagnostics;)

process.start("notepad.exe"); process.start("calc.exe");

你可能感兴趣的:(职场,动态,休闲,TabPage)