c#的TabControl怎么实现“除此之外全部关闭”

2024-12-27 09:19:47
推荐回答(3个)
回答1:

获取当前激活的Tab 然后遍历Tabs 判断是否和当前的Tab一样 不一样的关闭就行了

但是有点儿要注意,就是你删除一个Tab有可能会造成索引变更,处理好这个就行了

回答2:

int n = tabControl1.SelectedIndex;
for (int i = 0; i < n; i++)
{
tabControl1.TabPages.RemoveAt(0);
}
while (tabControl1.TabPages.Count > 1)
{
tabControl1.TabPages.RemoveAt(1);
}

回答3:

//先去的当前页的名称
string strname = tabControl1.TabPages[tabControl1.TabPages.SelectedIndex].Name;
//设置删除位置
int delIdx = 0;
for(int i=0;i{
//循环时如果page的名称等于开始选定的page名称
if(tabControl1.TabPages[i].Name == strname)
{
delIdx = 1;//删除位置为1
continue;
}
//删除
tabControl1.TabPages.RemoveAt(delIdx);
}
网吧机子上没环境,不知道大小写对不对,思路应该没问题