0

我正在尝试将 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);
                }
        }
4

1 回答 1

0

此行有错误:

lvi.SubItems.Add((ListViewItem)item.Clone());

您不能将 a 添加ListViewItem到 SubItems 集合。您可以添加一个ListViewSubItem或添加一个字符串(使用该字符串创建一个新项目)。

在这种情况下,如果您使用listView1. 将行更改为:

lvi.SubItems.Add(item.Text);

好的,所以您希望将 listView1 中的所有子项添加到 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);
    }
}
于 2012-11-11T07:07:37.390 回答