在DataGridView的CurrentCellChanged事件中如何获取当前单元格所在的列索引?

14
我有一个DataGridView的CurrentCellChanged事件处理程序,并且我想要从事件处理程序中访问当前所选单元格的列索引。
我以前在CellClick事件处理程序中有这段代码,它有一个DataGridViewCellEventArgs参数,所以我能够从事件参数中获取列索引,但是CurrentCellChanged事件有EventArgs参数,我认为这意味着此事件没有数据。
有没有一种方法可以访问新选择的单元格的列索引?
4个回答

35

6
使用 DataGridView 的 CurrentCell 属性。
void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
    MessageBox.Show(dataGridView1.CurrentCell.ColumnIndex.ToString());
    MessageBox.Show(dataGridView1.CurrentCell.RowIndex.ToString());
}

0
值得注意的是,如果有人使用WPF(而不是DataGridView)配合DataGrid进行编程,他们只需要简单地执行以下操作:
DataGrid currentGrid = sender as DataGrid;

然后

currentGrid.CurrentColumn.DisplayIndex

或者

currentGrid.CurrentCell.Column.DisplayIndex

0
如果你想要检查它与列的标题一起使用
dataGridView.CurrentCell.Column.Header

CurrentCell.OwningColumn.HeaderText - Chuck D

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接