在.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)
是否有解决方法或替代方案?我需要能够在另一个表单的面板中为表单提供父项。
答案 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);
}