程序一开始 我就tabControl1.TabPages.clear();隐藏了所有标签页面.然后想在程序中打开指定的标签页面
tabControl1.TabPages.Add(tabPage2);这样可行,
tabControl1.TabPages.Add((TabPage)(this.Controls.Find("tabPage2", true)[0]));这样不可行,我该怎么办,必须要用字符串来打开指定的标签页面
C# tabPage2已经被移除了 this.Controls.Find("tabPage2", true) 查找不到怎么办?
答案:1 悬赏:80 手机版
解决时间 2021-02-28 12:20
- 提问者网友:疯孩纸
- 2021-02-28 08:40
最佳答案
- 五星知识达人网友:野慌
- 2021-02-28 10:02
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;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯