首页 新闻 搜索 专区 学院

C#报错Invalid Argument=Value of '8' is not valid for 'rowIndex'

0
[已解决问题] 解决于 2020-04-15 15:50


我写了一个窗体Winfrom项目,报错如上图所示,代码中多线程操作控件datagridview和listBox,报错偶然性,目前没用再次出现,有人知道可能是什么问题吗?附上可能出现问题的代码最好!
1、对datagridview的操作只有增删操作
2、对listBox只有增加操作,和索引锁定最后一行的代码
listBox1.TopIndex =listBox1.Items.Count - (listBox1.Height / listBox1.ItemHeight);

😀明笔记的主页 😀明笔记 | 初学一级 | 园豆:27
提问于:2020-04-15 10:11
< >
分享
最佳答案
0

超出索引了,我估计不是偶然

奖励园豆:5
Cgrain | 小虾三级 |园豆:1011 | 2020-04-15 11:19

提供一下实例代码?我测试的代码都是报错未引用对象的,实在找不到报错的语句

😀明笔记 | 园豆:27 (初学一级) | 2020-04-15 11:20

@😀明笔记:
这个错误估计是 数据还在加载,然后你点击了datagridview ,然后触发了事件,但是还没有数据,所以超出了索引吧

Cgrain | 园豆:1011 (小虾三级) | 2020-04-15 11:36

@Cgrain: 没有事件

😀明笔记 | 园豆:27 (初学一级) | 2020-04-15 11:37

@😀明笔记: 断点调试一直没遇到这个错误?

Cgrain | 园豆:1011 (小虾三级) | 2020-04-15 11:42

@Cgrain: 对的。偶然性现象

😀明笔记 | 园豆:27 (初学一级) | 2020-04-15 11:43

@😀明笔记:
是否是这一批数据有问题导致的?
还是说都是这一批数据,但是这个错误时有时无?
看了你说的问题描述

和索引锁定最后一行的代码 代码, 能否贴出来?

Cgrain | 园豆:1011 (小虾三级) | 2020-04-15 11:56

@Cgrain: 代码太多咯。贴出来不太行哦 -
不过经过我反复测试这两个控件,发现报错,都是索引超过范围,未出现我描述的那个报错

😀明笔记 | 园豆:27 (初学一级) | 2020-04-15 13:52

@😀明笔记:
或者说 你看看 取 索引 的下标 是依据什么来的, 是不是 数据只有 8行,可是你索引确可以是9
这两个地方要检查一下 ,初始值是 0嘛?

Cgrain | 园豆:1011 (小虾三级) | 2020-04-15 15:19

@Cgrain: 但是我单独测试一下,故意把索引取大了。报错也只是索引超过范围,不是我图片上的报错。。报错异常信息会随系统框架而改变的吗?报错是在另外一台电脑上允许出现的。

😀明笔记 | 园豆:27 (初学一级) | 2020-04-15 15:25

@😀明笔记: 你不用vs 调试 错误就是这个了,不信你自己点击exe文件 ,索引出错就是这样

Cgrain | 园豆:1011 (小虾三级) | 2020-04-15 15:48

@😀明笔记: Thx!

Cgrain | 园豆:1011 (小虾三级) | 2020-04-15 16:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册