最近,把一个旧的项目代码,升级到2010,在运行时,出现这个错误。“child”不是此父级的子控件。并且不能打开窗体进行设计。在网上找到一段,修改后,能解决问题。
最近在开发的过程中,我在baseForm窗体上加了一个控件,此BaseForm窗体在加控件前,已经应用于其他的Form上.
在运行过程中发生“child”不是此父级的子控件错误.
检查后发现,可能是因BaseForm已经应用到Form上,在这些Form上已经配置了相关的控件信息.而我在BaseForm上又对这些控件进行了调整,如移动到另一个容器内.
所以发生在Form上原来的控件已经不在原容器上的问题,就会发生“child”不是此父级的子控件.
解决方法:
去这些Form上调整在BaseForm中调整过的控件,在InitializeComponent内将相关的代码删除
如我的
this.groupPanelBase1.Controls.SetChildIndex(this.cBoxList, 0);
this.groupPanelBase1.Controls.SetChildIndex(this.labelX5, 0);
这二控件在BaseForm上调整到了另一容器,而在已经应用了的Form内没有调整,把此二行代码删除或注释掉便可.
在运行过程中发生“child”不是此父级的子控件错误.
检查后发现,可能是因BaseForm已经应用到Form上,在这些Form上已经配置了相关的控件信息.而我在BaseForm上又对这些控件进行了调整,如移动到另一个容器内.
所以发生在Form上原来的控件已经不在原容器上的问题,就会发生“child”不是此父级的子控件.
解决方法:
去这些Form上调整在BaseForm中调整过的控件,在InitializeComponent内将相关的代码删除
如我的
this.groupPanelBase1.Controls.SetChildIndex(this.cBoxList, 0);
this.groupPanelBase1.Controls.SetChildIndex(this.labelX5, 0);
这二控件在BaseForm上调整到了另一容器,而在已经应用了的Form内没有调整,把此二行代码删除或注释掉便可.