运行时出现 “child”不是此父级的子控件。

最近,把一个旧的项目代码,升级到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内没有调整,把此二行代码删除或注释掉便可.

posted on 2011-04-07 15:26 zqonline 阅读(...) 评论(...) 编辑 收藏

导航