c# datagridview第三行第三列这个cell,原来为combox,row.Cells[e.ColumnIndex] = textCell;提示SetCurrentCellAddressCore可重入调用 是什么原因
时间: 2024-04-15 14:27:02 浏览: 115
C# datagridview+combox更改一列值并更改另一列值,实现时间的更新
4星 · 用户满意度95%
"SetCurrentCellAddressCore可重入调用" 错误通常是因为在 DataGridView 的事件处理程序中更改了当前单元格的位置,从而导致出现死循环。这可能是由于在更改单元格时触发了其他事件,导致重入调用。
要解决此问题,您可以尝试在更改单元格之前取消当前单元格的选择,以避免触发其他事件。您可以使用 `CurrentCell` 属性来取消当前选择,然后再进行单元格的更改。
以下是一个可能的解决方案:
```csharp
// 取消当前单元格的选择
dataGridView1.CurrentCell = null;
// 进行单元格的更改
DataGridViewTextBoxCell textCell = new DataGridViewTextBoxCell();
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex] = textCell;
```
通过这样做,您可以避免触发其他事件并解决 "SetCurrentCellAddressCore可重入调用" 错误。
阅读全文