我正在尝试将listviewOne中所有已检查项目的克隆副本添加到listviewTwo。 以及listviewTwo的其他文本框值。但是我收到了错误..请有人帮助我..
private void button4_Click(object sender, EventArgs e)
{
foreach (ListViewItem item in listView1.Items)
if (item.Checked)
{
ListViewItem lvi = new ListViewItem();
lvi.SubItems.Add(textBox1.Text);
lvi.SubItems.Add(textBox2.Text);
lvi.SubItems.Add(textBox3.Text);
lvi.SubItems.Add(textBox4.Text);
lvi.SubItems.Add(item.Text);
listView2.Items.Add(lvi);
}
}
答案 0 :(得分:0)
此行有错误:
lvi.SubItems.Add((ListViewItem)item.Clone());
您无法向SubItems集合添加ListViewItem
。您可以添加ListViewSubItem
或添加字符串(使用该字符串创建新项目)。
在这种情况下,如果使用listView1
中选中项目中的文本创建新子项,可能就足够了。将行更改为:
lvi.SubItems.Add(item.Text);
好的,所以你希望listView1中的所有subItem都添加到listView2的项目中。试试这个:
foreach (ListViewItem item in listView1.Items)
{
if (item.Checked)
{
ListViewItem lvi = new ListViewItem();
lvi.SubItems.Add(textBox1.Text);
lvi.SubItems.Add(textBox2.Text);
lvi.SubItems.Add(textBox3.Text);
lvi.SubItems.Add(textBox4.Text);
foreach (ListViewSubItem subItem in item.SubItems)
{
lvi.SubItems.Add(subItem);
}
listView2.Items.Add(lvi);
}
}