2015-09-17 2 views
-1

Я создаю дочернюю форму во время выполнения из другой родительской формы. Ребенок содержит некоторые элементы управления, которые я не могу обнаружить во время выполнения, поскольку он зависит от данных, переданных в родительскую форму?
Форма ребенка перед запуском не имеет контроля, поэтому .designer.cs не имеют опции управления.
Итак, во время выполнения после добавления элементов управления к дочерней форме, если .designer.cs содержит свойства для сгенерированных элементов управления? и как скопировать содержимое .designer.cs во время выполнения и вставить в текстовый файл?Если .designer.cs генерируется во время выполнения?

+3

'.designer.cs' не изменен во время выполнения, содержимое не изменяется – ASh

+0

@ASh есть ли какие-либо причины получения свойств элементов управления, сгенерированных во время выполнения? – Ahmed

+0

Какие свойства вам нужно получить? yourControl.PropertyName даст вам значение! – Damith

ответ

0

Этот код будет проходить через форму и получать из нее то, что вам нравится. Если вы попросите Control, вы получите все, что на форме ....

private IEnumerable<T> GetControls<T>(Control.ControlCollection ctrls) 
{ 
    foreach (object ctrl in ctrls) 
    { 
     foreach (var item in GetControls<T>(((Control)ctrl).Controls)) 
     { 
      yield return item;  
     } 
     if (ctrl is T) 
      yield return (T)ctrl; 

    } 
} 

foreach(var txtbox in GetControls<TextBox>(form.Controls) 
{ 
    txtbox.ReadOnly = false; 
} 
0

.designer.cs генерируется GUI визуальный дизайнер (Visual Studio). Он компилируется и не может быть изменен во время выполнения.

Смежные вопросы