【发布时间】:2017-04-14 13:25:51
【问题描述】:
Stack Overflow 上的第一个计时器(虽然我已经潜伏了很长时间)。
我正在开发一个包含两个DataGridViews 的小应用程序。
第二个DataGridView 是通过自定义类对象列表上的绑定填充的(用户按下按钮,列表添加了一个新元素并重新绑定到DataGridView)。
我面临的问题是,当我在此 DataGridView 中有一些行时(即使实际上只有一行...),如果我碰巧单击其中一行来选择它们,Visual Studio弹出给我调试器,因为发生了System.IndexOutOfRangeException。
似乎当用户单击一行时,DataGridView 抛出此异常,因为它说我正在尝试访问数组的 -1 索引。
奇怪的事实是这个异常被抛出即使我没有任何事件监听行选择!
实际上,DataGridView 上根本没有监听任何事件。
调试器没有帮助,因为它在 Form 构造函数级别引发异常(它在 Application.Run(new frmMain()); 处中断,所以它没有告诉我任何有用的信息)。
有人可以帮帮我吗?
如果您需要任何代码,请告诉我,我会尽力为您提供。
谢谢!
【问题讨论】:
-
它在某个地方调用了一些东西,你的初始化程序/表单加载中有什么
-
邮政编码,如果你一直潜伏在这里,你就知道我们要说什么了。我很乐意提供帮助,但我们确实需要看看代码中发生了什么。
-
@EpicKip 你是什么意思?是否要我发布表单的
Load事件和constructor? -
@Trey 我很乐意向您展示代码,如果我知道要向您展示什么...我可以发布什么?
-
@frikyfriky11 您在某个地方访问索引,可能是偶然的,但它并不是白说。
标签: c# .net winforms datagridview indexoutofrangeexception