如何知道datagridview中的特定复选框是否已检查?

我有一个gridview,它有2列,一个是文本框列,另一个是复选框列,如何知道选中了哪个复选框。

在此处输入图像描述

如图所示,假设选中了任何复选框,我想将相应的文本框值显示给该复选框。

任何人都可以帮助我?我尝试了下面的代码,但我面临的问题是,一旦我点击下一个复选框后显示值,然后显示之前检查的复选框值。

dataGridView1.CellValueChanged += new DataGridViewCellEventHandler(dataGridView1_CellValueChanged); void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { object tempObj = dataGridView1.Rows[e.RowIndex].Cells[1].Value; dataGridView1_CurrentCellDirtyStateChanged(sender, e); if (((e.ColumnIndex) == 1) && ((bool)dataGridView1.Rows[e.RowIndex].Cells[1].Value)) { MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString()); } } 

  private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e) { if (dataGridView1.IsCurrentCellDirty) { dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit); } } private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (((e.ColumnIndex) == 1) && ((bool)dataGridView1.Rows[e.RowIndex].Cells[1].Value)) { MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString()); } } 

以下链接帮助我理解了cellvalue_changed和cell_content_click的概念.http: //msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellvaluechanged.aspx

在这些链接的帮助下,我终于得到了我的问题的解决方案

就这么简单

 //replace the row number and column name with your own if ((bool)dataGridView1.Rows[0].Cells["Column1"].Value) { //do your work } 
 private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex > -1 && e.ColumnIndex > -1) label1.Text = dataGridView1.Rows[e.RowIndex].Cells["Col1"].Value.ToString(); } 
 private void dataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == *someIndex*) { DataGridViewCheckBoxCell cell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex] as DataGridViewCheckBoxCell; if (cell != null) { if (cell.EditingCellValueChanged) { //CheckBox has been clicked } //here how to get the checkBoxCell value var cellChecked = cell.EditingCellFormattedValue; } } }