0
我在處理表單上的CTRL-C,CTRL-V,CTRL-X時遇到問題。Control KeyDown事件陷阱CTRL-C等
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
我在哪裏出錯了?
該函數是直接從處理程序中調用的,但我直接將代碼放入事件處理程序中,但它仍然無效,所有值均爲Control。現在我會忘記它,我不知道它爲什麼不起作用。 – JA12
我推薦的唯一兩件事就是嘗試使用我的代碼進行簡化測試,並從那裏重建或逐行調試,並查看您的布爾值是否阻止您的代碼繼續。這可能是這樣簡單的事情。除此之外,我發佈的代碼,工作,我只是沒有使用你的布爾值。 – Keith
用你的事件處理函數更新你的問題。 – Keith