2011-07-11 90 views
3

在.net Compact Framework 2.0中,您可以将表单添加到另一个表单控件数组,基本上是为其他表单创建父项。Compact Framework 3.5设置表单父项

_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)

是否有此解决方法或替代?我需要能够在另一个表单的面板内部生成一个表单。

+1

我不认为这有可能使面板形式 – grapkulec

回答

5

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

特别是这部分:

System.Windows.Forms.Form.Parent

说明 形式可以不再父。

以前的行为
在.NET Compact Framework的1.0,形式可以父任何其他控制01​​一个支持子控件。在.NET Compact Framework 2.0中,表格 可以用于任何其他形式。

新行为

在.NET Compact Framework 3.5版,形式不能被父。

+0

我碰到这个来的父。我希望找到解决方法或替代方法。 – JoelHess

+2

好吧,为什么你需要你的表格成为父对象?前一段时间我正在处理CF 3.5,但我不记得在我的应用程序中有任何形式问题,我需要用我的表单做任何明确的魔术 – grapkulec

+0

这是系统的现有架构。我不想重做系统,但是在维护它时想要使用一些linq-y善良。 – JoelHess

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); 
} 
+0

问题是关于将表单添加到另一个表单。 –

相关问题