我在DataGridView的_CurrentCellChanged或_CellEnter事件中+入了以下代码:
DataGridViewCell currentCell = this.dgvQuickFilter.CurrentCell;
DataGridViewComboBoxCell dcCell = new DataGridViewComboBoxCell();
..........
..........
this.dgvQuickFilter[e.ColumnIndex, e.RowIndex] = dcCell;//异常的是这一句
常常会报InvalidOperationException,不是每次都会报,信息为:{"操作无效,原因是它导致对 SetCurrentCellAddressCore 函数的可重入调用。"}
我的目的是:将非DataGridViewComboBoxCell 的单元格转为DataGridViewComboBoxCell 单元格;
错误原因:
this.dgvQuickFilter[e.ColumnIndex, e.RowIndex] = dcCell
会触发_CurrentCellChanged,_CellEnter等事件,从而死循环
解决方法:
改用_SelectionChanged
阅读(1783) | 评论(1) | 转发(0) |