日期:2014-05-18  浏览次数:21920 次

C#中 操作无效,原因是它导致对 SetCurrentCellAddressCore 函数的可重入调用
太悲剧了

我的操作:通过点击A按钮实现对datagridview中的行进行操作,A按钮事件会调用刷新方法,刷新方法会重新给这个datagridview赋值,但是给datagridview 赋值会因为当前行发生变化而触发row_enter事件,结果我在row_enter事件中对A按钮是否显示进行了操作。操作到此结束,这一切我感觉都合情合理,但是它就是报错了。


我的错误是:
提示
---------------------------
撤销支付异常:System.InvalidOperationException: 操作无效,原因是它导致对 SetCurrentCellAddressCore 函数的可重入调用。
... ...

我的解决方法:
将row_enter事件中对A按钮的操作注释掉。测试通过,不在报“操作无效”这种错误了。


希望我的这个小文章可以为有类似bug的人提供一种思路