如何在Form1上的ComboBox中显示Form2上的listView.Items,并且我想使用所选项目中的所有数据(子项)。
我该怎么做?
答案 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