我有一个获得groupbox
的控件列表,其中包含TextBox
,ComboBox
,CheckBox
。
获取列表时,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>())
}
答案 0 :(得分:1)
你做错了(你的代码将列表中的每个对象与引用的新实例化对象进行比较,总是返回false
结果)。
尝试使用is
运算符检查对象类型兼容性:
foreach (var item in lstControles)
{
if(item is TextBoxUniversal)
.......
if (item is EntitySelectorCombo)
.......
if (item is CheckBox)
.......
}