Compact Framework 3.5 Set Form parent

时间:2011-07-11 20:16:07

标签: winforms .net-3.5 compact-framework parent

在.net Compact Framework 2.0中,您可以将表单添加到另一个表单控件数组中,基本上为其他表单提供父级。

即。_mainForm.Controls.Add(form);

.net cf 3.5中不允许这样做,导致异常:

System.ArgumentException: Value does not fall within the expected range. at Microsoft.AGL.Common.MISC.HandleAr(PAL_ERROR ar) at System.Windows.Forms.Control._SetParent(Control ctlParent) at System.Windows.Forms.Control.set_Parent(Control value)

是否有解决方法或替代方案?我需要能够在另一个表单的面板中为表单提供父项。

2 个答案:

答案 0 :(得分:5)

我认为这包含您问题的答案:http://207.46.16.248/en-us/netframework/bb986636.aspx

特别是这部分:

System.Windows.Forms.Form.Parent

<强>描述 表格不再是父母。

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

新行为

在.NET Compact中 框架版本3.5,表单不能成为父级。

答案 1 :(得分:0)

您可以使用以下方法将表单控件复制到.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);
}