【问题标题】:Loop through different ListBox循环遍历不同的 ListBox
【发布时间】:2021-04-21 22:16:52
【问题描述】:

我有多个名为 Box0、Box1、Box2 等的列表框。 在每个 Box 中,我想添加一个数组的相应元素,但不知道如何调用它们。
应该是这样的:

for (int i = 0; i < 10; i++)
{
    Box[i].Items.Add(array[i]);
}

【问题讨论】:

  • Boxarray 是什么? array 是锯齿状数组吗?或者您是否有一个 ListBox 控件数组和一个值数组?还是一个 ListBox Controls 数组和一个参差不齐的值数组?你应该展示你如何声明你正在使用的对象。
  • ((ListBox)this.Controls[$"Box{i}"]).DataSource = array.ToArray(); 应该可以解决问题。 this.Controls.OfType&lt;ListBox&gt;().ToList().ForEach(lb =&gt; lb.DataSource = array.ToArray()); 也应该做到这一点。 (如果它们的父级不同,则可以使用它们的父级来代替。)您还可以使用 Controls 集合的 Find 方法按名称查找控件。

标签: c# winforms listbox


【解决方案1】:

最好创建一个List&lt;ListBox&gt; 框,将所有listboxes 添加到其中,然后像这样循环框:foreach (ListBox lb in boxes){..} 或使用普通的for 循环,如果您需要索引:for (int i = 0; i &lt; boxes.Count; i++) ){..}

来源:Taw 评论

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2011-06-29
    • 2016-08-06
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多