【发布时间】:2014-08-11 02:28:21
【问题描述】:
我在处理表单上的 CTRL-C、CTRL-V、CTRL-X 时遇到问题。
Private Function HandleKeyDown(sender As Object,
e As KeyEventArgs,
ByVal vShow As String) As Boolean
HandleKeyDown = False
If e.KeyCode = Keys.F1 Then
Help.ShowPopup(Me, vShow, Cursor.Position)
End If
If e.KeyCode = Keys.C AndAlso e.Modifiers = Keys.Control Then
sender.Copy()
ElseIf e.KeyCode = Keys.V AndAlso e.Modifiers = Keys.Control Then
sender.Paste()
ElseIf e.KeyCode = Keys.X AndAlso e.Modifiers = Keys.Control Then
sender.Cut()
Else
Console.WriteLine(String.Format("Modifiers:{0} KeyCode:{1} KeyData:{2} KeyValue:{3} ", e.Modifiers.ToString, e.KeyCode.ToString, e.KeyData.ToString, e.KeyValue.ToString))
End If
HandleKeyDown = True
End Function
KeyDown 事件从不获取第二个键。 KeyCode 唯一拥有的值似乎是 Keys.Control。这是 Console.WriteLine 为 CTRL-C 输出的内容
Modifiers:Control KeyCode:ControlKey KeyData:ControlKey, Control KeyValue:17
我哪里错了?
【问题讨论】: