调用方法时,DataGridView.CurrentCellDirtyStateChanged会抛出InvalidProgramException

时间:2011-03-28 05:00:43

标签: vb.net datagridview .net-2.0

我有一个绑定到DataTable的DataGridView。我使用AutoGenerateColumns = true但我将其更改为false以便我可以自己管理列,然后我开始在DataGridView.CurrentCellDirtyStateChanged的事件处理程序中获取InvalidProgramException。当此事件处理程序调用另一个名为CheckFilter()的方法时,它会抛出异常。当我单步执行代码时它不会进入方法,因此在调用方法时会发生异常。 CheckFilter()是一个没有参数的私有子。异常消息是"公共语言运行时检测到无效程序"。我在Windows 7上使用带有.net 2.0和Visual Studio 2008的vb.net。

1 个答案:

答案 0 :(得分:0)

事实证明,异常不是来自调用方法,而是来自方法内的每个循环。我没有指定循环变量的类型。 for循环遍历数据行集合,因此我将循环变量设为DataGridViewRow,然后异常消失。我认为它必须是框架或编译器中的错误。