C# 我必须使用哪个事件处理程序来检查是否已选中DataGridView中的复选框?

C# 我必须使用哪个事件处理程序来检查是否已选中DataGridView中的复选框?,c#,winforms,datagrid,C#,Winforms,Datagrid,我有一个3列的DataGridView。删除,用户名,密码。删除列包含一个复选框,其他两个为文本。DataGridView名为grid1 我试图使用事件处理程序检查用户是否单击了复选框字段。问题是,我不确定应该使用什么来添加处理程序。我应该使用网格。(……还是删除。(……以及应该使用的属性?哪个事件处理程序?尝试处理DataGridView CellContentClick事件: private void dataGridView1_CellContentClick(object sender,

我有一个3列的DataGridView。删除,用户名,密码。删除列包含一个复选框,其他两个为文本。DataGridView名为grid1


我试图使用事件处理程序检查用户是否单击了复选框字段。问题是,我不确定应该使用什么来添加处理程序。我应该使用
网格。(……
还是
删除。(……
以及应该使用的属性?哪个事件处理程序?

尝试处理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;
}

为什么要迭代所有单元格?您只需使用CellValueChanged事件并从其参数中获取行索引和列索引。