Winforms Compact Framework 3.5集合表单父级

Winforms Compact Framework 3.5集合表单父级,winforms,.net-3.5,compact-framework,parent,Winforms,.net 3.5,Compact Framework,Parent,在.NETCompactFramework2.0中,您可以将一个表单添加到另一个表单控件数组中 i、 e.\u mainForm.Controls.Add(表单) 这在.net cf 3.5中是不允许的,并导致异常: System.ArgumentException:值不在预期范围内。 在Microsoft.AGL.Common.MISC.HandleAr(PAL_错误) 在System.Windows.Forms.Control.\u SetParent(Control-ctlParent)

在.NETCompactFramework2.0中,您可以将一个表单添加到另一个表单控件数组中

i、 e.
\u mainForm.Controls.Add(表单)

这在.net cf 3.5中是不允许的,并导致异常:

System.ArgumentException:值不在预期范围内。
在Microsoft.AGL.Common.MISC.HandleAr(PAL_错误)
在System.Windows.Forms.Control.\u SetParent(Control-ctlParent)
在System.Windows.Forms.Control.set\u父项(控制值)


是否有解决方法或替代方法?我需要能够在另一个窗体的面板中创建窗体的父窗体

我想这包含了对你问题的回答:

特别是这一部分:

System.Windows.Forms.Form.Parent

说明 表单不能再作为父对象

以前的行为
在.NET Compact Framework 1.0中,表单可以作为任何其他控件的父控件 它支持子控件。在.NET Compact Framework 2.0中,表单 可以是任何其他形式的父母

新行为

在.NET压缩中
Framework 3.5版,窗体不能作为父窗体。

您可以使用以下方法将窗体控件复制到.NET CF 3.5中的另一个窗体

// Clear old form controls

oldform.Controls.Clear();

// Copy controls from newform to oldform

foreach (Control ctl in newform.Controls)
{
    oldform.Controls.Add(ctl);
}

我不认为有可能让陪审团成为一个FORM的家长,因为我遇到了这个问题。我希望能找到一个解决方法或替代方法。那么,为什么你需要你的表格成为父母呢?很久以前,当我处理CF 3.5时,我不记得我的应用程序中的表单有任何问题,我需要对我的表单执行任何显式的魔法。这是系统的现有架构。我不想重做这个系统,但在维护它的时候,我想使用一些linq-y的优点。所以你需要.NET2.0上的linq?也许这些链接可以帮助您:,但我认为这些是关于完整框架版本而不是紧凑型的。或者,如果您实际需要使用LINQ,您将与公司/项目中的决策者交谈,并向他/她/他们解释LINQ基本上是.net 3.5的东西,如果不将整个或至少部分系统移动到新的框架版本中,这将是一项非常艰巨的任务。问题是如何将一个表单添加到另一个表单中。