当用户单击与正在编辑的单元格位于同一行的行标题时,我试图强制DataGridViewCell
退出编辑模式。作为记录,editmode 设置为 EditOnEnter。
所以我相应地写了以下事件:
private void dGV_common_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
dGV_common.EndEdit();
}
上面的代码没有强制单元格结束编辑模式。虽然下面的代码强制单元格退出编辑模式:
private void dGV_common_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
dGV_common.EndEdit();
dGV_common.CurrentCell = null;
}
它还会取消选择整行,这不是用户单击RowHeader
.
因此,我的工作如下:
private void dGV_customer_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
dGV_customer.EndEdit();
dGV_customer.CurrentCell = null;
dGV_customer.Rows[e.RowIndex].Selected = true;
}
当您选择单个行标题时效果很好,但当您尝试通过按住 shift 来选择多个行标题时会失败。
我该如何正确处理这种情况?