DataGridView での SetCurrentCellAddressCore 関数への再入呼び出しエラー
DataGridView クラス の CellEnter イベント で、選択されたセルを別のセルに変更するために、
private void dataGridView1_CellEnter(Object sender, DataGridViewCellEventArgs e) { dataGridView1[columnIndex, rowIndex].Selected = true; }
を実行したところ、
SetCurrentCellAdressCore 関数への再入呼び出しを生じるため、この操作は有効ではありません。
というエラーが発生した。
イベントハンドラで直接セルを選択せず、BeginInvoke などを使ってイベントハンドラの外で設定すればこのエラーは発生しない。
private void dataGridView1_CellEnter(Object sender, DataGridViewCellEventArgs e) { Action a = () => dataGridView1[columnIndex, rowIndex].Selected = true; BeginInvoke(a); }