C# winfrom 中datagridview中checkbox的使用方法

1、属性设置checkboxcolumn

name:cb_check

falsevalue:false

truevalue:true

datagridview中的readonly设置为false.

2、private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

if (e.ColumnIndex == 0 && e .RowIndex != -1)

{

//获取控件的值

MessageBox.Show(this.dataGridView1.Rows[e.RowIndex].Cells[0].EditedFormattedValue.ToString());

//或者可以做其他事件处理程序

}

}

需要注意的是执行此事件是需要屏蔽其他datagridview单元格的cellcontentclick事件 ,即让除了 DataGridViewCheckBoxCell 列

之外的所有列的ReadOnly=True;

在获取datagridview中checkbox列的值得时候 一定要用 EditedFormattedValue属性,此属性获取的是编辑以后数值 而value 和

FormattedValue返回的往往是编辑以前的数值,而其重复单击的时候往往会出现错误(无法确定是编辑前还是编辑后的数值: 主要

原因是焦点问题,需要先移动焦点使datagridview获取更改后的数据在区获取他 就没有问题了,所以以后用去获取数据前先要移出

datagridview中的焦点!!!),所以一定要用EditedFormattedValue来获取属性值