datagridview選択時に通常の左クリックでCTRL + クリックのように複数選択でき
続けてクリックしたままカーソル移動で範囲選択もできるような表を作成したいと考えております。
DataGridViewRow[] old; private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e) { old = new DataGridViewRow[dataGridView1.SelectedRows.Count]; dataGridView1.SelectedRows.CopyTo(old,0); }
private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { foreach (DataGridViewRow gr in old) { if (gr == dataGridView1.CurrentRow) { gr.Selected = false; } else { gr.Selected = true; } } }
上記のソースコードによって望み通りの動きにはなったんですが
新しく選択するたびに画面がちらつきます。
これはマウスクリックで一度すべての選択が解除されたあとに再度複数選択をし直している為に起きている現象だと
思います。
datagridviewの標準実装であるセルをマウスクリックで全ての選択が解除される
という処理を行わない方法はありますか?

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。