创建一个可以返回控件列表的函数,该列表中包含控件标记中的特定信息

问题描述 投票:1回答:1

我是新手,我试图获取名称列表,其中所有在标签字段中具有特定文本的控件。控件以表格形式出现,并单独显示在面板和选项卡上。无论它们坐在哪里,都可以使用类似于LINQ的方式来获取所有控件的列表,然后我就可以递归遍历它了。感谢所有帮助。

c# linq-to-entities
1个回答
1
投票

您可以调用此函数:

public IEnumerable<Control> GetControlsByTag(Control container, string tag)
{
    var ctrls = container.Controls.Cast<Control>();
    return ctrls.SelectMany(c => GetControlsByTag(c, tag)).Concat(ctrls.Where(c => c.Tag != null && c.Tag.ToString().Equals(tag)));
}

来自任何呼叫者:

private void button1_Click(object sender, EventArgs e)
{
    var controls = GetControlsByTag(this, "Tag_text_To_Find");
}

祝你好运。>>

© www.soinside.com 2019 - 2024. All rights reserved.