1

このコードを使用して、分割コンテナーにコントロールを配置しようとしています。

 foreach (Control c in splitContainerMain.Panel2.Controls) 
 { 
     c.Dispose(); 
 }

しかし問題は、分割されたコンテナに 2 つのコントロールが含まれており、取得カウントが 2 であることです。しかし、このコードを使用して破棄しようとすると、1 つのコントロールは正常に破棄されますが、2 番目のコントロールは破棄できません。

4

1 に答える 1

2

アイテムが破棄されるとコントロール コレクションが縮小する可能性があるため、この場合は foreach を使用するべきではないと思います。

次のようにすれば、もっとうまくいくと思います。

 for (int nI = splitContainerMain.Panel2.Controls.Count - 1; nI >= 0; nI--) 
 { 
     splitContainerMain.Panel2.Controls[nI].Dispose();
 }
于 2011-11-24T19:47:39.370 に答える