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

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

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

Re[4]: datagridviewでのCtrl+Aキーの挙動


(過去ログ 150 を表示中)

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

■87476 / inTopicNo.1)  datagridviewでのCtrl+Aキーの挙動
  
□投稿者/ あらら (1回)-(2018/05/26(Sat) 21:28:03)

分類:[.NET 全般] 

VBを使っています。
datagridview上でCtrl+Aキーを押すと
全てのセルが選択されます。
これを4行目から一番下までの行だけが選択するように変えたいのですが
どのようにすれば良いですか?

引用返信 編集キー/
■87479 / inTopicNo.2)  Re[3]: datagridviewでのCtrl+Aキーの挙動
□投稿者/ 魔界の仮面弁士 (1689回)-(2018/05/27(Sun) 11:30:53)
No87476 (あらら さん) に返信
> datagridview上でCtrl+Aキーを押すと
> 4行目から一番下までの行だけが選択するように

こういうことで良いのかな。

先頭行を「0行目」と数えているのか、「1行目」と数えているのかが分からなかったので、
ひとまず、全選択直後に先頭 3 行だけ選択解除するようにしてみました。


Partial Public Class Form1
  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    DataGridView1.DataSource = Nothing
    DataGridView1.AllowUserToAddRows = False
    DataGridView1.Columns.Clear()
    DataGridView1.RowCount = 5
    DataGridView1.ColumnCount = 5
  End Sub

  Private Sub DataGridView1_KeyDown(sender As Object, e As KeyEventArgs) Handles DataGridView1.KeyDown
    If e.KeyData = (Keys.Control Or Keys.A) Then
      e.SuppressKeyPress = True
      Dim currentCell = DataGridView1.CurrentCell
      If DataGridView1.RowCount > 3 Then
        DataGridView1.SelectAll()
        For rowIndex = 0 To 2
          DataGridView1.Rows(rowIndex).Selected = False
        Next
      Else
        DataGridView1.ClearSelection()
      End If
      DataGridView1.CurrentCell = currentCell
      e.Handled = True
    End If
  End Sub
End Class
引用返信 編集キー/
■87480 / inTopicNo.3)  Re[4]: datagridviewでのCtrl+Aキーの挙動
□投稿者/ あらら (2回)-(2018/05/27(Sun) 17:09:19)
パーフェクトでした
ありがとうございます。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -