Получить текущий индекс столбца ячейки в DataGridView CurrentCellChanged Event

У меня есть обработчик события CurrentCellChanged для DataGridView, и я хочу иметь доступ к текущему индексу столбцов выбранных ячеек из обработчика события.

Я использовал код в обработчике CellClick, который имеет DataGridViewCellEventArgs в качестве параметра, поэтому мне удалось получить индекс столбца из параметра args события, но событие CurrentCellChanged имеет EventArgs как параметры, которые я считаю, что предполагается, что theres нет данных для этого события.

Есть ли способ получить доступ к новому текущему выбранному столбцу индекса ячейки?

Ответ 2

Используйте свойство DataCridView CurrentCell.

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

Ответ 3

Стоит отметить, что если кто-то использует WPF DataGrid, а не DataGridView), они могут просто сделать:

DataGrid currentGrid = sender as DataGrid;

а затем

currentGrid.CurrentColumn.DisplayIndex

или

currentGrid.CurrentCell.Column.DisplayIndex

Ответ 4

Если вы хотите проверить его с заголовком столбца, то

dataGridView.CurrentCell.Column.Header