A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ww448483689 中级黑马   /  2013-8-28 20:48  /  1694 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我刚刚在写一个图片查看器,我将图片的名字通过substring截取,并存到listbox中,用一个list集合存储这些图片的绝对路径,当我在实现一个右键删除的功能的时候,我第一次先写的listbox1.items.removeat,然后才是list结果出了异常,图片是修改后正确的结果,我想知道为什么他们的顺序不能颠倒。

360截图20130828204414148.jpg (18.19 KB, 下载次数: 25)

360截图20130828204414148.jpg

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

4 个回复

倒序浏览
代码不全,把你错误的代码发出来看看,应该是你listbox1的项目和list绑定的。你先先删listbox内容,listBox1.SelectedIndex的值就变调了。肯定会出异常
回复 使用道具 举报
先删ListBox是就把选择的list1box1.selectindex项给删了,再来删list时,后面的就list1box1.selectindex不存在了,但然报错了
回复 使用道具 举报
int numbers=listBox1.SelectedItems.Count;
for(int i=0;i<numbers;i++)
{
       list.RemoveAt(i);
       listBox1.Items.RemoveAt(i);
       i--;  //删除了一个,后面所有选中的的索引应该减1
}

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
丁海平 发表于 2013-8-29 12:09
先删ListBox是就把选择的list1box1.selectindex项给删了,再来删list时,后面的就list1box1.selectindex不 ...

你的答案是正确的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马