0

TabControlタブインデックスが指定されたインデックスではない場所からすべてのタブを削除しようとしています。

私はこれまでにこれを持っています:

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

ただし、指定されたtabNoではなく、すべてのタブが削除されます。私は何が間違っているのですか?

4

1 に答える 1

2

タブを削除すると、タブのインデックスが再作成されます。実際、あなたがしていることはそれによって影響を受けるべきではありません。ただし、とにかく以下を試してください。おそらく役立つでしょう。

インデックスではなく、明示的にタブ オブジェクトを参照します。

var tabToKeep = tabcontrolOption.TabPages[tabNo];
for (int i = tabcontrolOptions.TabCount - 1; i >= 0; i--)
{
    if (tabcontrolOption.TabPages[i] != tabToKeep)
    {
        tabcontrolOptions.TabPages.RemoveAt(i);
    }
}
于 2012-09-23T23:38:36.880 に答える