我有一个包含3列的DataGridView。删除,用户名,密码。删除列托管一个CheckBox,另外两个是文本。 DataGridView名为grid1。
我正在尝试检查用户是否通过使用事件处理程序单击了CheckBox字段。问题是我不确定我应该使用什么来添加处理程序。我应该使用grid.(...)
还是Delete.(...)
以及我应该使用哪个属性?哪个事件处理程序?
答案 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;
}