我有一个自定义的 datagridviewcolumn,一个托管在单元格中的自定义控件。我想以编程方式退出编辑模式并验证单元格中的当前值(此值正确)。我检查了以下方法但没有成功:
this.datagridview.currentCell.datagridview.endEdit()
this.EditingControlDataGridView.endEdit()
this.datagridview.endEdit();
也可以强制改变当前单元格:
this.datagridview.currentCell = this.datagridview.Rows[rowIndex].Cells[columnIndex]
我需要以编程方式强制提交单元格中的待定值,因为例如,在某些情况下我需要删除一行 datagridview 但由于单元格(在同一行中被删除)处于编辑模式,我如果我之前不提交对单元格的更改并退出编辑模式,则无法执行此操作。
此外,当我想退出编辑模式时,我也有类似的奇怪行为,但在这种情况下,我放弃了单元格中的更改:根据我的应用程序的状态,有时执行 this.datagridview.CancelEdit() 有效,有时不是。
使用 C#、.NET Framework 4.0、WinForms。
最佳答案
添加这段代码
Application.DoEvents();
强制触发事件:
关于c# - 从单元格中托管的控件退出编辑模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13261895/