datagridview的tabIndex和tabStop属性如何影响currencyManager?

时间:2016-05-09 02:31:10

标签: c# .net winforms datagridview

每当使用DataGridView在Windows窗体中调用components.dispose()时,我都会遇到此错误。当我退出应用程序时,在form_Closed事件之后的Dispose函数中调用Components.dispose()。

  

DataGridView中出现以下异常:

     

System.IndexOutOfRangeException:索引0没有值。    在System.Windows.Forms.CurrencyManager.get_item(Int32索引)    在System.Windows.Forms.DataGridViewDataConnection.GetError(Int32 rowIndex)

     

要替换此默认对话框,请处理DataError事件。

我怀疑CurrencyManager与datagridview数据源没有正确同步。因此,它仍然试图同步思考数据源中的项目,实际上,项目已经被处置。

解决方案1 ​​

将datagridview的tabStop属性设置为False。这可以防止datagridview成为'tab-able'

解决方案2

Calling .dispose() on datagridview explicitly

问题

tabIndex属性如何影响CurrencyManager,为什么将tabStop设置为false可以正确同步CurrencyManager?我已经阅读了关于Lazy Initialization的原因,但我仍然没有看到延迟初始化,tabIndex和CurrencyManager之间的链接。

0 个答案:

没有答案