在使用VS2005的C#中,我有一个带有7个选项卡的Winforms TabControl,但我希望只有在设置了某个配置选项时才能看到最后一个选项卡。
如何使TabControl仅显示前六个标签?换句话说,如何使第七个标签不可见?
答案 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进行处理,因此如果尚未处理,则需要手动处理它。其他方面,特别是如果你多次打开你的窗户,你的窗口把手用完了