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

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

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

DataGridViewの複数行の選択

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■87696 / inTopicNo.1)  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になっています。

引用返信 編集キー/
■87697 / inTopicNo.2)  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
引用返信 編集キー/
■87700 / inTopicNo.3)  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キーが押されているようになっていることでセル入力でショートカットキーが実行されるかとも思いましたが大丈夫そうでした。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ