• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DataGridViewで列、行、セルの選択)

DataGridViewで列、行、セルの選択方法

このQ&Aのポイント
  • DataGridViewのセル選択方法について調査しました。
  • DataGridViewの選択モードには、行選択や列選択を制御するプロパティがあります。
  • しかし、行選択と列選択、セル選択を同時に可能にする方法はありませんでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.1

泥臭いけど。 1.複数選択を可能とする 2.セル選択モードはセル選択のみ 3.列ヘッダのクリックイベントに次の処理を加える   ・選択セルをクリア   ・対象列の全行分のセル選択モード設定する処理 4.行ヘッダのクリックイベントに次の処理を加える   ・選択セルをクリア   ・対象行の全列分のセル選択モード設定する処理

ctske
質問者

お礼

早速のご回答ありがとうございます。 戴いたアドバイスを参考に以下のように作成したところ 望んだ通りの挙動になりました。 Private Sub dgvMain_ColumnHeaderMouseClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgvMain.ColumnHeaderMouseClick Dim i As Integer = 0 dgvMain.ClearSelection() For i = 0 To dt.Rows.Count - 1 dgvMain.Item(e.ColumnIndex, i).Selected = True Next End Sub Private Sub dgvMain_RowHeaderMouseClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgvMain.RowHeaderMouseClick Dim i As Integer = 0 dgvMain.ClearSelection() For i = 0 To dt.Columns.Count - 1 dgvMain.Item(i, e.RowIndex).Selected = True Next dgvMain.Rows(e.RowIndex).Selected = True End Sub 行ヘッダーの三角が移動しなかったので、 CurrentCellにクリックした行の情報を突っ込むことで なんとかそれっぽく動きました。 ありがとうございました。