获取特定控件的控件列表

时间:2014-05-14 00:51:50

标签: c# winforms visual-studio list controls

我有一个获得groupbox的控件列表,其中包含TextBoxComboBoxCheckBox

获取列表时,nececito会区分并获取我使用此代码测试的每个控件的名称。

private void btnGuardar_Click(object sender, EventArgs e)
    {
        List<Control> lstControles =
            new List<Control>(groupBox1.Controls.OfType<Control>().OrderBy(x => x.Name));

        TextBoxUniversal txt = new TextBoxUniversal();
        EntitySelectorCombo cbo = new EntitySelectorCombo();
        CheckBox chk = new CheckBox();

        foreach (var item in lstControles)
        {
             if(txt == item.Controls.OfType<TextBoxUniversal>())


             if (cbo == item.Controls.OfType<EntitySelectorCombo>())

             if (chk == item.Controls.OfType<CheckBox>())

        }

1 个答案:

答案 0 :(得分:1)

你做错了(你的代码将列表中的每个对象与引用的新实例化对象进行比较,总是返回false结果)。

尝试使用is运算符检查对象类型兼容性:

foreach (var item in lstControles)
{
     if(item is TextBoxUniversal)
        .......

     if (item is EntitySelectorCombo)
        .......

     if (item is CheckBox)
        .......
}