获取特定控件(控件列表)
本文关键字:控件 列表 获取 | 更新日期: 2023-09-27 18:03:08
我有一个控件列表,得到一个groupbox
,其中有TextBox
, ComboBox
, CheckBox
。
当获得列表时,需要区分并获得我用这段代码测试的每个控件的名称。
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>())
}
您这样做是错误的(您的代码通过引用比较列表中的每个对象与新实例化的对象,这总是返回false
结果)。
尝试使用is
运算符检查对象类型兼容性:
foreach (var item in lstControles)
{
if(item is TextBoxUniversal)
.......
if (item is EntitySelectorCombo)
.......
if (item is CheckBox)
.......
}