получить все управляющие имена формы в другой форме

У меня есть две формы, которые называются Customers и CustomerControlList. В форме Customers у меня есть элементы управления макетом DevExpress, такие как TabbedControlGroup, LayoutControlGroup, LayoutItem, и в этих элементах макета я использую любой элемент управления, например TextEdit, ComboEdit и т. д.

И я хочу получить все имена элементов управления, такие как TextEdit и т. Д., В CustomerControlList, так как я могу это сделать? Я не могу перебирать эти элементы управления макетом...

Например: я получаю экземпляр формы, например, и прокручиваю

frmCustomer fc= new frmCustomer();

foreach(Control c in fc.Controls)
{

}

это не работает, приходит только Windows.Forms.Collection, поэтому он равен нулю в качестве контрольного счетчика.

Также возможно ли получить имена динамически созданных элементов управления в другой форме? если да, то как это сделать?

Спасибо!


person Muzzy B.    schedule 07.10.2011    source источник


Ответы (1)


это сработало для меня (это почти прямой разрыв с моим кодом):

TextEdit devXtextControl;

foreach (Control control in this.Controls[0].Controls)
{
    if ((devXtextControl = control as TextEdit) != null)
    {
        // do something with devXtextControl
        Messagebox.Show(devXtextControl.Name);
    }
}
person Jason    schedule 02.02.2012