C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■87121 / )  DataGridViewCheckBoxCellについて
□投稿者/ MTK (52回)-(2018/04/13(Fri) 14:19:50)

分類:[C#] 

お世話になります。

DataGridViewの1行目にチェックボックスを設定するため、フォームのロード時にDataGridViewCheckBoxCellを設定しています。
きちんと1行目にチェックボックスが出るようになったのですが、チェックボックスの大きさが思いの外小さかったため、
チェックボックスだけでなくセルをクリックしても、チェックが入るようにしたいと思い、以下のCellClickイベントを追加しました。


private void GridCellClick(object sender, DataGridViewCellEventArgs e)
{
	// 1行目がクリックされた場合のみ
	if (this.changeReceive && e.RowIndex == 0)
	{
		// イベント受取を停止
		this.changeReceive = false;
		
		// チェックを反転
		this.dataGridView[e.ColumnIndex, e.RowIndex].Value = !(bool)this.dataGridView[e.ColumnIndex, e.RowIndex].Value;

		// イベント受取を再開
		this.changeReceive = true;
	}
}

しかしこの実装をすると、チェックボックスがあるセルを押してからフォーカスを外さなければ、チェックのONOFFが切り替わりません。
Refresh や CommitEdit メソッドも呼んでみましたがダメでした。
何か特別な方法が必要なのでしょうか?

返信 編集キー/


管理者用

- Child Tree -