【发布时间】:2016-01-15 19:33:57
【问题描述】:
我明白了。 Datagridview cannot be in the process of changing ANYTHING。我不认为我是,但我仍然偶尔会遇到这个异常。这就是如此奇怪。超过 90% 以上的时间都可以正常工作。
我在 Windows 窗体上有一个选项卡控件,并且多个选项卡页具有数据网格视图控件。它们都没有绑定到数据库。当用户浏览标签页时,每个标签页的“进入”和“离开”事件都有代码。进入tabpage,如果有DGV控件,有一行代码清空所有行。
Private Sub Tab3_Plan_Enter(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Tab3_Plan.Enter
dgPlan.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
CircuitItems = LoadCatalogItems(dgPlan, cbVDSvcLocation, iKind.PlanSku)
' More event code
Private Function LoadCatalogItems(ByRef DGV As DataGridView, _
ByVal cbControl As System.Windows.Forms.ComboBox, _
ByRef ItemKind As Integer) As Integer
Dim DescDGName As String
Dim OrigInternalDesc As String
Dim DisplayDesc As String
DGV.Rows.Clear() ' <-- This is where the exception is thrown
' More function code
Tab3_Plan_Enter 事件处理程序中的 AutoSizeRowMode 是否与此有关?如果是这样,我该如何克服它?将 Tab3_Plan_Enter 中的两行代码重新排序是个好主意吗?
【问题讨论】:
标签: .net vb.net exception datagridview reentrancy