C# VS2008 ListView控件 怎样实现item复制粘贴

ListViewItem[]ListViewItemBox=newListViewItem[200];//将原listview中的选中项先复制到数组里:for(inti=... ListViewItem[] ListViewItemBox = new ListViewItem[200];
//将原listview中的选中项先复制到数组里:
for (int i = 0; i < listView1.SelectedItems.Count; i++)
{
ListViewItemBox[i] = listView1.SelectedItems[i];
}
//再实现以下插入语句的时候,总是报错,为什么?报错说无法插入XX数值,该数值的值刚好是 ListViewItemBox[0].subitem[0].text

listView1.Items.Insert(0,ListViewItemBox[0]);
ListViewItem[] ListViewItemBox = new ListViewItem[200];

ListView1.Items.Insert(0,ListViewItemBox[0]);

注意以上我是先声明了一个“ListViewItem[]”数组,然后把该数组的第一个元素ListViewItemBox[0]插入到原listView1表的第一行去, insert方法的第二个参数明明就是ListViewItem 类型的,ide也不报错,但是为什么执行的时候就是无法插入
展开
 我来答
avenger19
2009-01-21 · TA获得超过1298个赞
知道小有建树答主
回答量:972
采纳率:0%
帮助的人:1049万
展开全部
ListViewItem[] ListViewItemBox = new ListViewItem[200];
for (int i = 0; i < listView1.SelectedItems.Count; i++)
{
ListViewItemBox[i] = listView1.SelectedItems[i].Clone() as ListViewItem;
}
listView1.Items.Insert(0, ListViewItemBox[0]);

我按照你的代码测试,报的错误是:
"Cannot add or insert the item '1' in more than one place. You must first remove it from its current location or clone it.\r\nParameter name: item"

这里它这个“1”是我Item的第一个字符串。它并不代表你在插入一个字符串。只是用来代表你正在进行操作的对象。
这个错误实际报的是同一个ListViewItem的引用不能在ListView中添加两遍,所以我要在这里做一下克隆(Clone()),创建一个完全相同的新的对象。
ListViewItemBox[i] = listView1.SelectedItems[i].Clone() as ListViewItem;
这样就没有问题了
lpcclown
2009-01-21 · TA获得超过154个赞
知道小有建树答主
回答量:129
采纳率:100%
帮助的人:113万
展开全部
你这里有一点逻辑错误

你想 listview的数组 包含什么?

当然是 包含listview 了 然后当众的listview 再包含你所要粘贴的值

这样你试试 不行 再问

回答补充:你想把列表插入到列表中 这样做肯定是不行的 你应当获取到 列表中的值 也就是列表项 再做插入操作 你先试试 不行的话 我用程序帮你做一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1998syz1234567
2009-01-21 · TA获得超过347个赞
知道答主
回答量:445
采纳率:0%
帮助的人:0
展开全部
你这里有一点逻辑错误

你想 listview的数组 包含什么?

当然是 包含listview 了 然后当众的listview 再包含你所要粘贴的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JimiXu
2009-01-21 · TA获得超过410个赞
知道小有建树答主
回答量:1010
采纳率:0%
帮助的人:0
展开全部
ListViewItem的第一个text直接用ListViewItemBox[0].Text,之后的才用subitem。另外,你的"ListViewItem[] ListViewItemBox = new ListViewItem[200]; ",里面的数组成员可都是类对象,貌似也需要new的吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式