我有CurrentCellChanged
的{{1}}事件处理程序,我希望能够从事件处理程序访问当前选定的单元格列索引。
我曾经在DataGridView
处理程序中使用CellClick
作为参数的代码,因此我能够从事件args参数中获取列索引,但DataGridViewCellEventArgs
事件具有CurrentCellChanged
作为参数,我认为这意味着该事件没有数据。
有没有办法访问新的当前选定的单元格列索引?
答案 0 :(得分:33)
使用DataGridView.CurrentCell
属性..
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.currentcell.aspx
int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.aspx
答案 1 :(得分:6)
使用DataGridView的CurrentCell属性。
void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
MessageBox.Show(dataGridView1.CurrentCell.ColumnIndex.ToString());
MessageBox.Show(dataGridView1.CurrentCell.RowIndex.ToString());
}
答案 2 :(得分:0)
值得注意的是,如果有人使用 WPF (使用 DataGrid ,而不是DataGridView),他们可以执行以下操作:
DataGrid currentGrid = sender as DataGrid;
然后
currentGrid.CurrentColumn.DisplayIndex
或
currentGrid.CurrentCell.Column.DisplayIndex
答案 3 :(得分:0)
如果你想用列标题检查它,那么
dataGridView.CurrentCell.Column.Header