为什么此代码无法正常运行:
class CTabPage : TabPage
CTabPage tp = new CTabPage();
for (int i=0; i < TabControl.TabPages[0].Controls.Count; i++)
tp.Controls.Add(TabControlTabControl.TabPages[0].Controls[i]);
其中TabControl是现有的TabControl。
问题是,由于TabControl.TabPages[0].Controls.Count
在循环中递减,所以只复制了一半的控件。
答案 0 :(得分:0)
控件只能有一个父级。
通过向新TabPage.Controls
集合“添加”控件,您将从旧集合中删除它们,这会导致Count
的值在您遍历{{1}时递减}循环。
要解决您遇到的问题,您可以向后迭代:
for