遍历选定项目的所有ListBox并转移到一个ListBox

时间:2015-07-20 22:59:12

标签: c# visual-studio-2010

以下是我到目前为止看起来它会从每个列表框中收集正确数量的所选项目,但不是输出所选项目,而是一遍又一遍地输出第一个项目。

TabPage page = tabControl1.SelectedTab;
            var controls = page.Controls;
            foreach (var control in controls)
            {
                if (control is ListBox)
                {
                    ListBox listbox = control as ListBox;
                    foreach (var item2 in listbox.SelectedItems)
                    {
                        FilterColLB.Items.Add(ShipmentBox.SelectedItem);
                    }
                }
            }

2 个答案:

答案 0 :(得分:1)

不要在循环中引用ShipmentBox.SelectedItem

foreach (var item2 in listbox.SelectedItems)
{
    FilterColLB.Items.Add(item2);
}

答案 1 :(得分:0)

我会做更多的事情:

        foreach(ListBox lb in tabControl1.SelectedTab.Controls.OfType<ListBox>())
        {
            foreach(var item in lb.SelectedItems)
            {
                FilterColLB.Items.Add(item);
            }
        }