获取DataGridView CurrentCellChanged事件中的当前单元格列索引

我有DataGridViewCurrentCellChanged事件处理程序,我希望能够从事件处理程序访问当前选定的单元格列索引。

我以前在CellClick处理程序中有代码,其中DataGridViewCellEventArgs作为参数,所以我能够从事件args参数中获取列索引,但是CurrentCellChanged事件将EventArgs作为参数,我相信这应该暗示没有数据为这个事件。

有没有办法访问新的当前选定的单元格列索引?

使用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

使用DataGridView的CurrentCell属性。

 void dataGridView1_CurrentCellChanged(object sender, EventArgs e) { MessageBox.Show(dataGridView1.CurrentCell.ColumnIndex.ToString()); MessageBox.Show(dataGridView1.CurrentCell.RowIndex.ToString()); } 

如果你想用列标题检查它

 dataGridView.CurrentCell.Column.Header 

值得注意的是,如果有人使用WPF (使用DataGrid而不是DataGridView),他们可以简单地执行:

 DataGrid currentGrid = sender as DataGrid; 

然后

 currentGrid.CurrentColumn.DisplayIndex 

要么

 currentGrid.CurrentCell.Column.DisplayIndex