我试图通过移位控制和箭头键的组合来复制窗口选择文本的方式。
我目前的尝试,假设网格本质上是一个文本框。
Dim selectionStart As Integer = grid.ActiveCell.SelStart
If e.KeyCode = Keys.Right Then
If Not e.Shift Then
grid.ActiveCell.SelStart = selectionStart + 1
grid.ActiveCell.SelLength = 0
Else
grid.ActiveCell.SelLength += 1
'grid.ActiveCell.SelStart = selectionStart + 1
End If
ElseIf e.KeyCode = Keys.Left Then
If Not e.Shift Then
If selectionStart > 0 AndAlso Not e.Control Then
grid.ActiveCell.SelStart = selectionStart - 1
End If
grid.ActiveCell.SelLength = 0
Else
If selectionStart > 0 Then
If Not e.Control Then
grid.ActiveCell.SelStart -= 1
grid.ActiveCell.SelLength += 1
End If
End If
End If
End If
End If
虽然这很接近但有些情况下无法正常工作。是否有更好或更标准的方式?