从TabControl中删除选项,其中索引不是

时间:2012-09-23 23:31:30

标签: c# indexing tabcontrol

我正在尝试从TabControl中删除选项卡索引不是指定索引的所有选项卡。

到目前为止,我有这个:

for (int i = tabcontrolOptions.TabCount - 1; i >= 0; i--)
{
    if (i != tabNo)
    {
        tabcontrolOptions.TabPages.RemoveAt(i);
    }
}

但是删除了所有标签,而不是指定的tabNo。我做错了什么?

1 个答案:

答案 0 :(得分:2)

删除选项卡后,选项卡将重新编制索引。实际上,你所做的不应该受到影响。但是无论如何都要尝试以下,也许它会有所帮助。

明确地参考标签对象,而不是索引:

var tabToKeep = tabcontrolOption.TabPages[tabNo];
for (int i = tabcontrolOptions.TabCount - 1; i >= 0; i--)
{
    if (tabcontrolOption.TabPages[i] != tabToKeep)
    {
        tabcontrolOptions.TabPages.RemoveAt(i);
    }
}