|
■No69760 (龍鳳 さん) に返信
> DataGridViewで指定した列のみフォーカス移動する方法が解りません。
> 例
> 奇数列だけTabでフォーカス移動するなど
>
> ご存知の方よろしくお願いします。
単純な設定で行う方法はわかりません。
だいたい以下のような感じで出来ると思います。
Private Sub DataGridView1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown
If e.KeyCode = Keys.Tab Then
e.Handled = True
Dim Col = DataGridView1.CurrentCell.ColumnIndex
Dim Row = DataGridView1.CurrentCell.RowIndex
If Col Mod 2 = 0 Then
If e.Shift Then
Col -= 2
If Col < 0 Then
If Row > 0 Then
Col = DataGridView1.ColumnCount - 1
Row -= 1
Else
Col = 0
End If
End If
Else
Col += 2
If Col >= DataGridView1.ColumnCount Then
If Row < DataGridView1.RowCount - 1 Then
Col = 0
Row += 1
Else
Col = DataGridView1.ColumnCount - 1
End If
End If
End If
DataGridView1.CurrentCell = DataGridView1.Item(Col, Row)
End If
End If
End Sub
Private Sub DataGridView1_KeyUp(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyUp
If e.KeyCode = Keys.Tab Then
e.Handled = True
End If
End Sub
|