我必须使用哪个事件处理程序来检查我是否在DataGridView中检查了CheckBox?

时间:2011-12-24 07:08:23

标签: c# winforms datagrid

我有一个包含3列的DataGridView。删除,用户名,密码。删除列托管一个CheckBox,另外两个是文本。 DataGridView名为grid1。

我正在尝试检查用户是否通过使用事件处理程序单击了CheckBox字段。问题是我不确定我应该使用什么来添加处理程序。我应该使用grid.(...)还是Delete.(...)以及我应该使用哪个属性?哪个事件处理程序?

1 个答案:

答案 0 :(得分:1)

尝试处理DataGridView CellContentClick事件:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
   MessageBox.Show(e.RowIndex.ToString()+" and "+e.ColumnIndex.ToString());
}

然后,您需要测试列索引以检查它是否为复选框列。

您可以通过检查每个单元格的“值”来获取每个复选框的选中状态:

foreach (DataGridViewRow dataGridRow in dataGridView1.Rows)
{
   var checked = ((DataGridViewCheckBoxColumn)dataGridRow.Cells["checkbox_col"]).Value;
}