来自选项卡 C# 的列表框名称数组

Array of ListBox Names from a Tab C#

我有一个选项卡控件,上面有列表框,其中一些列表框是动态创建和命名的,所以我不能静态地编写它们的名称。有没有办法在给定的 tabPage 上创建一个包含所有列表框名称的数组?我一直在努力想办法做到这一点。

它看起来像这样(基于 winforms 示例)

List<string> listBoxNames = new List<string>();

    foreach (Control control in tabPage1.Controls)
    {
        if (control.GetType() == typeof(ListBox))
        {
            listBoxNames.Add(control.Name);
        }
    }

或 linq 语法中的相同内容

    List<string> listBoxNames = (from Control control in tabPage1.Controls 
                                 where control.GetType() == typeof (ListBox) 
                                 select control.Name).ToList();

如果您想再次找到标签页中的所有列表框,请参见下文

            foreach (var listBoxName in listBoxNames)
            {
                ListBox listBox = (ListBox) tabPage1.Controls.Find(listBoxName, true)[0];
            }