DataGridView点击复选框怎么勾选上了,但是删不掉,要点一下别的地方才能删掉,怎么实现点一下就选中呢?

图片说明图片说明

勾选后直接点击删除按钮的话,勾选的单元格值还没有更新,所以通过DataGridViewCell.Value无法判断是否选中。
解决这个问题最简单的办法,是在判断值之前,调用一下DataGridView.EndEdit(),结束输入。
void btnDel_Click(object sender, EventArgs e)
{
this.datagridview1.EndEdit();
...
for(int i = 0; i < this.datagridview1.Rows.Count; i ++) {
var val = this.datagridview[this.colCheck.Name,i].Value;
if( val != null && (bool)val)
{
...执行删除...
}
}
}