Compact Framework 3.5 Set Form родительский - PullRequest
3 голосов
/ 12 июля 2011

В .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 ]

5 голосов
/ 12 июля 2011

Я думаю, что это содержит ответ на ваш вопрос: http://207.46.16.248/en-us/netframework/bb986636.aspx

особенно эта часть:

System.Windows.Forms.Form.Parent

Описание Формы больше не могут быть родительскими. * * 1010

Предыдущее поведение
В .NET Compact Framework 1.0 формы могут быть связаны с любым другим элементом управления что поддерживает дочерние элементы управления. В .NET Compact Framework 2.0, формы может быть в любой другой форме.

Новое поведение

В .NET Compact Framework Framework 3.5, формы не могут быть родственными.

0 голосов
/ 18 мая 2012

Вы можете использовать следующий метод для копирования элементов управления формы в другую форму в .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);
}
...