永发信息网

Listcontrol checkbox复选框删除问题

答案:2  悬赏:0  手机版
解决时间 2021-04-06 23:15
  • 提问者网友:嘚啵嘚啵
  • 2021-04-06 14:00
我想批量删除已够选checkbox的列,但发现总是删除不了那么多。总会剩下
for(int i =0;i {
if(C_BanneList.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED||C_BanneList.GetCheck(i))
{
C_BanneList.DeleteItem(i);
}
}
这是代码 求大神指点为何不对,或指点正确方法
最佳答案
  • 五星知识达人网友:毛毛
  • 2021-04-06 15:27
删除一个项目之后,原先项目的ID号就改变了。
假如你要删除第一二两个项目,i对应的值应为0和1,但是,当删除掉第一个项目后,第二个项目对应ID变为0,但是,在你程序里却是对ID为1的项目进行判断,当然删除就不干净了。
所以在 C_BanneList.DeleteItem(i);后面加一句:
i--;
即可。
全部回答
  • 1楼网友:低血压的长颈鹿
  • 2021-04-06 16:28
我是来看评论的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯