无法将顶级控件添加到控件

在使用VS2008开发的时候,碰到需要将一个From添加到TabPage中的情况。但是使用下面的代码无法成功添加。

 

FrmDetectorArg frmda = new FrmDetectorArg(); this.tabControl1.TabPages[0].Controls.Add(frmda);  

这样写会出现“无法将顶级控件添加到控件”错误提示。

看了网上的一些文章,知道了这个错误产生的原因,这里特地记录下来,以免以后忘了。由于Form默认为顶级控件,所以在容器控件中加入会出现标题所示异常。
解决方法就是像下面这样加一句代码:

FrmDetectorArg frmda = new FrmDetectorArg(); frmda.TopLevel = false; this.tabControl1.TabPages[0].Controls.Add(frmda);

你可能感兴趣的:(.NET(c#))