2011-07-11 43 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

問題是關於將表單添加到另一個表單。 –

相關問題