如何将TabControl选项卡设置为不可见

时间:2010-10-22 08:28:49

标签: c# winforms tabcontrol

在使用VS2005的C#中,我有一个带有7个选项卡的Winforms TabControl,但我希望只有在设置了某个配置选项时才能看到最后一个选项卡。

如何使TabControl仅显示前六个标签?换句话说,如何使第七个标签不可见?

3 个答案:

答案 0 :(得分:1)

private void HideTab(object sender, EventArgs e)
{
    this.tabControl1.TabPages.Remove(this.tabPage2);
}
private void ShowTab(object sender, EventArgs e)
{
    this.tabControl1.TabPages.Add(this.tabPage2);
}

this.tabPage2是你的第7个标签页,不管你给它的名字。

答案 1 :(得分:0)

不能隐藏tabcontrol中的选项卡。如果要添加选项卡ar运行时间,则在条件不满意时不要添加第7个选项卡。

如果您在设计时完成,则在条件失败时删除标签。

yourTabControl.TabPages.Remove(tabPageName);

答案 2 :(得分:0)

你可以实现一个属性

public bool TabVisible
{
    get 
    {
        return tabControl1.Contains(tabPage2);
    }
    set
    { 
        if(value == TabVisible) return;
        if(value)
            tabControl1.TabPages.Add(tabPage2);
        else
            tabControl1.TabPages.Remove(tabPage2);
    }
}

你还应该覆盖你的处理功能,

您可以将设计器生成的代码中的Dispose函数移出到您自己的代码中,设计师会注意到这一点。您看到components.Dispose();函数无法再进入tabPage进行处理,因此如果尚未处理,则需要手动处理它。其他方面,特别是如果你多次打开你的窗户,你的窗口把手用完了