【问题标题】:DataGridView.CurrentCellDirtyStateChanged throws InvalidProgramException when calling a methodDataGridView.CurrentCellDirtyStateChanged 在调用方法时抛出 InvalidProgramException
【发布时间】:2011-03-28 05:00:42
【问题描述】:

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

【问题讨论】:

    标签: vb.net datagridview .net-2.0


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-15
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      • 2012-11-22
      • 1970-01-01
      • 2021-02-25
      • 1970-01-01
      相关资源
      最近更新 更多