在datagridviewcurrentcellchanged事件中获取当前单元格列索引

本文关键字:单元格 索引 获取 datagridviewcurrentcellchanged 事件 | 更新日期: 2023-09-27 17:52:53

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

我曾经在CellClick处理程序中拥有DataGridViewCellEventArgs作为参数的代码,因此我能够从事件参数中获得列索引,但CurrentCellChanged事件具有EventArgs作为参数,我认为这应该意味着没有此事件的数据。

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

在datagridviewcurrentcellchanged事件中获取当前单元格列索引

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

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