如何为tabcontrol实现“关闭所有选项卡”

时间:2008-11-19 05:52:26

标签: c# windows

如何使用上下文菜单条实现选项卡控件的“关闭所有其他选项卡”功能?

4 个答案:

答案 0 :(得分:3)

我在主窗口中只使用一个tabcontrol创建了一个小应用程序,并且连接到该tabcontrol的上下文菜单。

以下是上下文菜单项的处理程序:

        private void closeAllOtherToolStripMenuItem_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < this.tabControl1.TabCount; i++)
            if (i != tabControl1.SelectedIndex)
                tabControl1.TabPages.RemoveAt(i--);
    }

答案 1 :(得分:1)

尝试使用此简单代码“关闭所有标签”。

tabControl.TabPages.Clear()

答案 2 :(得分:0)

在“关闭所有”标签之前,您应该处理(并删除事件处理程序)您在每个标签页中实例化的任何控件/对象。此外,您可以使用TabPages集合的.Clear方法,而不是删除循环中的每个标签页。

答案 3 :(得分:0)

以下代码会关闭所有标签,在关闭之前,请确保保存标签的内容。

    private void closeAllToolStripMenuItem_Click(object sender, EventArgs e)
    {
        TabControl.TabPageCollection pages = tabControl1.TabPages;
        foreach (TabPage page in pages)
        {
            saveToolStripMenuItem_Click(sender, e);
            closeTabToolStripMenuItem_Click(sender, e);
        }

    }