笔者主要针对ListView的操作中出现的这种问题进行解释,其他组件请自己对应下。
一般出现这种情况是由于数值的超出规定的范围导致的,比如ListView中没有item,这时对item[0]赋值也是不可行的。这种情况要查看下程序之前是不是调用了ListView.items.clear()函数,如果之前调用了,则只能使用ListView.items.Add(new item)进行添加。要谨记赋值只能对已经存在的Item赋值。
或者是item.subItem数量不够。比如笔者之前想只对ListView的第三列进行刷新,如下图。
一开始我的程序如下
当我开始对第三列赋值时,程序报同样的错误。只加载第三列的代码如下
Items[i]即为第i+1行,SubItems[j]即为第J+1列。
因为我的item只有两个SubItem,当我对第三列,也就是第三个SubItem赋值时,程序会显示超出,这种情况的解决措施就是先预先加载好第三列。
修改后的代码如下:
可知对第三列也赋了空值,这样就可以后期进行赋值了。