テキスト列とチェックボックス列を持つ DataGridView があります。ユーザーがチェックボックスをクリックすると、ユーザーにプロンプトが表示されます。以下のコードを使用して、これを機能させました。
private void grid_CurrentCellDirtyStateChanged( object sender, EventArgs e )
{
var grid = sender as DataGridView;
if ( grid.IsCurrentCellDirty)
grid.CommitEdit( DataGridViewDataErrorContexts.Commit );
}
ただし、テキスト列に入力しようとすると、入力が終了したときではなく、入力中にコミットされ続けます。これにより、テキスト セル自体が強調表示され続け、1 文字しか入力できなくなります。チェックボックスの値が変更されたときにのみ処理するようにこのイベントを変更するにはどうすればよいですか?