繁体   English   中英

将列表视图中选中项的克隆副本与其他文本框数据/ C#一起添加到新视图中

[英]Addinf a clone copy of the checked items in a listview to new one along with other textbox data / C#

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

这行有错误:

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

您不能将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);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM