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

わんくま同盟

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

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

ツリー一括表示

DataGridViewの複数行の選択 /太麺 (18/06/20(Wed) 18:23) #87696
Re[1]: DataGridViewの複数行の選択 /PANG2 (18/06/20(Wed) 19:00) #87697
  └ Re[2]: DataGridViewの複数行の選択 /太麺 (18/06/21(Thu) 08:56) #87700 解決済み


親記事 / ▼[ 87697 ]
■87696 / 親階層)  DataGridViewの複数行の選択
□投稿者/ 太麺 (1回)-(2018/06/20(Wed) 18:23:19)

分類:[.NET 全般] 

開発環境:Windows7 32bit Visual Studio2010 .NET Frame work4.7

お世話になっております。
DataGridViewでCtrlキーを押さなくてもクリックだけでセルを複数行選択できるようにコードを書いたのですが

Private Sub DataGridView1_CellMouseUp(ByVal sender As Object, ByVal e As DataGridViewCellMouseEventArgs) Handles DataGridView2.CellMouseUp

    Dim selectedCells As DataGridViewSelectedCellCollection = DataGridView2.SelectedCells

    For Each cell As DataGridViewCell In selectedCells

        If cellCollection.Contains(cell) Then
            cellCollection.Remove(cell)
            cell.Selected = False
        Else
            cellCollection.Add(cell)
        End If
    Next

    For Each cell As DataGridViewCell In cellCollection
        cell.Selected = True
    Next

End Sub

やりたいこと自体は出来ているのですがセルをクリックするたびに既に選択状態のセルがちらつきます。
ちらつかないようにする方法はありますか?ダブルバッファリングを有効にしてみましたがうまくいきませんでした。
SelectionModeプロパティはFullRowSelect、MultiSelecプロパティtはTrueになっています。

[ □ Tree ] 返信 編集キー/

▲[ 87696 ] / ▼[ 87700 ]
■87697 / 1階層)  Re[1]: DataGridViewの複数行の選択
□投稿者/ PANG2 (9回)-(2018/06/20(Wed) 19:00:49)
No87696 (太麺 さん) に返信
> DataGridViewでCtrlキーを押さなくてもクリックだけでセルを複数行選択できるようにコードを書いたのですが

DataGridView.WndProcのオーバーライドでCTRLキーが押されているように偽装する
http://silent-diary.at.webry.info/201412/article_6.html
[ 親 87696 / □ Tree ] 返信 編集キー/

▲[ 87697 ] / 返信無し
■87700 / 2階層)  Re[2]: DataGridViewの複数行の選択
□投稿者/ 太麺 (2回)-(2018/06/21(Thu) 08:56:32)
No87697 (PANG2 さん) に返信
> ■No87696 (太麺 さん) に返信
>>DataGridViewでCtrlキーを押さなくてもクリックだけでセルを複数行選択できるようにコードを書いたのですが
>
> DataGridView.WndProcのオーバーライドでCTRLキーが押されているように偽装する
> http://silent-diary.at.webry.info/201412/article_6.html

ありがとうございます。まさにやりたいことが出来ました。
Ctrlキーが押されているようになっていることでセル入力でショートカットキーが実行されるかとも思いましたが大丈夫そうでした。
解決済み
[ 親 87696 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -