以另一种形式获取表单的所有控件名称

时间:2011-10-07 14:45:12

标签: devexpress loops nested-loops

我有两个名为Customers和CustomerControlList的表单 在Customers窗体中,我有像TabbedControlGroup,LayoutControlGroup,LayoutItem这样的DevExpress布局控件,在那些LayoutItems中,我使用TextEdit,ComboEdit等任何控件......

我希望在CustomerControlList中获取TextEdit等所有控件名称 那怎么能这样呢?我无法遍历这些布局控件...

例如:我得到形式的实例,并通过

循环
frmCustomer fc= new frmCustomer();

foreach(Control c in fc.Controls)
{

}

这不起作用,只有Windows.Forms.Collection,因此控制计数为零。

还有可能以另一种形式获得动态创建的控件名称吗? 如果是的话,怎么做?

谢谢!

1 个答案:

答案 0 :(得分:0)

这对我有用(这几乎是我代码中的直接内容):

TextEdit devXtextControl;

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