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

时间:2011-04-21 21:00:01

标签: c# winforms datagridview event-handling

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

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

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

4 个答案:

答案 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