在ComboBox中显示listView.Items

时间:2010-02-19 09:07:26

标签: c# listview combobox

如何在Form1上的ComboBox中显示Form2上的listView.Items,并且我想使用所选项目中的所有数据(子项)。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

Form1.comboBox.Items.AddRange(
    Form2.listView.Items.Cast<ListViewItem>().Select(a => a.Text));

这只会将ListViewItem的文本复制到组合框中。

对于所有子项,它会变得更复杂:

Form1.comboBox.Items.AddRange(
    Form2.listView.Items.Cast<ListViewItem>().Select(
    a => string.Join(", ", a.SubItems
        .Cast<System.Windows.Forms.ListViewItem.ListViewSubItem>()
        .Select(s => s.Text).ToArray())).ToArray());

这使用LINQ从每个项目的子项中获取一组文本值,并与", "连接在一起,并将每个连接的字符串列表添加到ComboBox