CurrentCellChanged
のDataGridView
イベントハンドラーがあり、イベントハンドラーから現在選択されているセルの列インデックスにアクセスできるようにしたいと考えています。
私はCellClick
ハンドラーにパラメーターとしてDataGridViewCellEventArgs
を含むコードを使用していたため、イベントargsパラメーターから列インデックスを取得できましたが、CurrentCellChanged
イベントにはEventArgs
パラメータとして、このイベントのデータがないことを意味すると思われます。
現在選択されている新しいセルの列インデックスにアクセスする方法はありますか?
使用する 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
DataGridViewの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 [〜#〜]を使用している場合(DataGridViewではなくDataGridを使用)、簡単にできることです。
DataGrid currentGrid = sender as DataGrid;
その後
currentGrid.CurrentColumn.DisplayIndex
または
currentGrid.CurrentCell.Column.DisplayIndex