制表符C#中的列表框名称数组

本文关键字:数组 列表 制表符 | 更新日期: 2023-09-27 17:59:27

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

制表符C#中的列表框名称数组

它看起来像这样(基于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];
            }