如何在DataGridView中获得DataGridViewCheckBoxColumn的状态?

如何在DataGridView中获得DataGridViewCheckBoxColumn的状态?

当我们选中该Cell后,第1时间得到的该值为:
dgView1.Rows(i).Cells(1).Value=False


不过在DataGridView.CurrentCellDirtyStateChanged事件中增加以下语句:
DataGridView.CommitEdit

该事件的意思是:单元格状态因其内容更改而更改是发生

CommitEdit:将当前单元格中的更改提交到数据缓存,但不结束编辑模式

引自msdn:

通常,复选框单元格值专门用于存储(如同其他任何数据一样)或用于执行批量操作。如果您想在用户单击复选框单元格时立即作出响应,可以处理DataGridView.CellClick事件,但此事件发生在单元格值更新之前。如果在单击时需要新的值,则有一个选项可以计算基于当前值的预期值。另一种方法是立即提交更改,并处理DataGridView.CellValueChanged事件以对此作出响应。要在单击单元格时提交更改,必须处理DataGridView.CurrentCellDirtyStateChanged事件。在处理程序中,如果当前单元格是复选框单元格,将调用DataGridView.CommitEdit方法并传入Commit值。

for (int i = 0; i < dg_tixing.RowCount; i++)
{
string re_value = dg_tixing.Rows[i].Cells[0].EditedFormattedValue.ToString();
if (re_value=="True")//判断勾选的
{

T_KeChengTiXing kc = new T_KeChengTiXing();
kc.course_id = PK_Course;
kc.tixing_id = Int32.Parse(dg_tixing.Rows[i].Cells[1].Value.ToString());
T_KeChengTiXingControl kcc = new T_KeChengTiXingControl();
kcc.Add(kc);
flag = true;

}
else
{
continue;
}
}