C# tabPage2已经被移除了 this.Controls.Find("tabPage2", true) 查找不到怎么办?
程序一开始我就tabControl1.TabPages.clear();隐藏了所有标签页面.然后想在程序中打开指定的标签页面tabControl1.TabPages.Ad...
程序一开始 我就tabControl1.TabPages.clear();隐藏了所有标签页面.然后想在程序中打开指定的标签页面
tabControl1.TabPages.Add(tabPage2);这样可行,
tabControl1.TabPages.Add((TabPage)(this.Controls.Find("tabPage2", true)[0]));这样不可行,我该怎么办,必须要用字符串来打开指定的标签页面 展开
tabControl1.TabPages.Add(tabPage2);这样可行,
tabControl1.TabPages.Add((TabPage)(this.Controls.Find("tabPage2", true)[0]));这样不可行,我该怎么办,必须要用字符串来打开指定的标签页面 展开
1个回答
展开全部
clear()的功能不是隐藏标签,是删除标签的意思,你一开始就删除了所有标签,所以找不到
要隐藏的话不能用clear(),可以设置各个标签的Visible属性来达到隐藏显示的效果
就你的代码,可以改成下面的样子:
foreach(TabPage tp in tabControl1.TabPages)
{
tp.Visible=false;//隐藏所有标签
}
//显示某个标签
this.Controls.Find("tabPage2",true)[0].Visible=true;
上面这一句我没试过,不知道tabPage2是不是属于this的Control,有可能tabPage2是属于tabControl1的,那样的话,就必须写 tabControl1.Controls.Find("tabPage2",true)[0].Visible=true;
要隐藏的话不能用clear(),可以设置各个标签的Visible属性来达到隐藏显示的效果
就你的代码,可以改成下面的样子:
foreach(TabPage tp in tabControl1.TabPages)
{
tp.Visible=false;//隐藏所有标签
}
//显示某个标签
this.Controls.Find("tabPage2",true)[0].Visible=true;
上面这一句我没试过,不知道tabPage2是不是属于this的Control,有可能tabPage2是属于tabControl1的,那样的话,就必须写 tabControl1.Controls.Find("tabPage2",true)[0].Visible=true;
追问
非常感谢,不过在C# 中tabpage没有Visible属性,所以这个办法不可行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询