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

C# 选项卡C中的列表框名称数组#,c#,listbox,controls,C#,Listbox,Controls,我有一个选项卡控件,上面有列表框,其中一些是动态创建和命名的,所以我不能静态编程它们的名称。有没有办法在给定的选项卡页上创建一个包含所有列表框名称的数组?我一直在疯狂地想办法解决这个问题。看起来是这样的(基于winforms示例) 您的意思是要获取选项卡控件中的所有列表框名称?这是winforms吗,wpf?@ricky是的。我试图获取动态创建的名称,因此无法对它们进行静态编码。到目前为止,最简单和最可靠的方法是一开始就不丢失它。比如说,你可以将它们存储在字典中,并在你将它们添加到选项卡页面时将

我有一个选项卡控件,上面有列表框,其中一些是动态创建和命名的,所以我不能静态编程它们的名称。有没有办法在给定的选项卡页上创建一个包含所有列表框名称的数组?我一直在疯狂地想办法解决这个问题。

看起来是这样的(基于winforms示例)


您的意思是要获取选项卡控件中的所有列表框名称?这是winforms吗,wpf?@ricky是的。我试图获取动态创建的名称,因此无法对它们进行静态编码。到目前为止,最简单和最可靠的方法是一开始就不丢失它。比如说,你可以将它们存储在
字典中
,并在你将它们添加到选项卡页面时将它们添加到字典中。这似乎很有希望,我正在VS2013中使用C#winforms。我会检查它并让您知道。解决方案有帮助吗?新问题是调用列表框名称作为列表框s oI可以引用其中包含的项目。meh..问题产生问题很简单,你只需要遍历列表框名称并找到,我已经更新了上面的答案
List<string> listBoxNames = new List<string>();

    foreach (Control control in tabPage1.Controls)
    {
        if (control.GetType() == typeof(ListBox))
        {
            listBoxNames.Add(control.Name);
        }
    }
    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];
            }