我有DataGridView
的CurrentCellChanged
事件处理程序,我希望能够从事件处理程序访问当前选定的单元格列索引。
我曾经在CellClick
处理程序中拥有DataGridViewCellEventArgs
作为参数的代码,因此我能够从事件参数中获得列索引,但CurrentCellChanged
事件具有EventArgs
作为参数,我认为这应该意味着没有此事件的数据。
是否有一种方法来访问新的当前选定的单元格列索引?
使用DataGridView.CurrentCell
属性…
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