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

C# 获取DataGridView CurrentCellChanged事件中的当前单元格列索引,c#,winforms,datagridview,event-handling,C#,Winforms,Datagridview,Event Handling,我拥有DataGridView的CurrentCellChanged事件处理程序,并且我希望能够从事件处理程序访问当前选定的单元格列索引 我曾经在CellClick处理程序中使用代码,该处理程序将DataGridViewCellEventArgs作为参数,因此我能够从event args参数中获取列索引,但CurrentCellChanged事件将EventArgs作为参数,我认为这意味着没有相关数据事件 是否有方法访问当前选定的新单元格列索引?使用DataGridView的CurrentCel

我拥有
DataGridView
CurrentCellChanged
事件处理程序,并且我希望能够从事件处理程序访问当前选定的单元格列索引

我曾经在
CellClick
处理程序中使用代码,该处理程序将
DataGridViewCellEventArgs
作为参数,因此我能够从event args参数中获取列索引,但
CurrentCellChanged
事件将
EventArgs
作为参数,我认为这意味着没有相关数据事件


是否有方法访问当前选定的新单元格列索引?

使用DataGridView的CurrentCell属性

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

使用
DataGridView.CurrentCell
属性


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

DataGrid currentGrid = sender as DataGrid;
然后

currentGrid.CurrentColumn.DisplayIndex


如果你想检查它的标题栏,然后

dataGridView.CurrentCell.Column.Header

CurrentCell.OwningColumn.HeaderText
currentGrid.CurrentCell.Column.DisplayIndex
dataGridView.CurrentCell.Column.Header