C# 单击并取消选中复选框单元格时DataGridView运行方法
这似乎是一些非常基本的功能,但我在StackOverflow或文档中找不到任何具体的示例 检查DataGridView的事件似乎没有任何可以直接监视checkboxcell中的更改的可用内容C# 单击并取消选中复选框单元格时DataGridView运行方法,c#,winforms,events,datagridview,C#,Winforms,Events,Datagridview,这似乎是一些非常基本的功能,但我在StackOverflow或文档中找不到任何具体的示例 检查DataGridView的事件似乎没有任何可以直接监视checkboxcell中的更改的可用内容 任何人都可以提供一个在datagridview中监视复选框检查事件然后执行方法的示例吗?经过一段时间的搜索后,我发现获取更改值的最佳方法是检查CurrentCellDirtyStateChanged,然后触发编辑并检查单元格当前值: private void DataGrid_CellValueChange
任何人都可以提供一个在datagridview中监视复选框检查事件然后执行方法的示例吗?经过一段时间的搜索后,我发现获取更改值的最佳方法是检查CurrentCellDirtyStateChanged,然后触发编辑并检查单元格当前值:
private void DataGrid_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (DataGrid.Columns[e.ColumnIndex].Name == "colReserved")
{
DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)DataGrid.Rows[e.RowIndex].Cells["colReserved"];
if ((Boolean)checkCell.Value)
{
//Checked
MessageBox.Show("Checked");
}
else
{
//Not Checked
MessageBox.Show("UnChecked");
}
DataGrid.Invalidate();
}
}
private void DataGrid_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (DataGrid.IsCurrentCellDirty)
{
DataGrid.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
}