Vb.net 如何为剪切/复制/粘贴例程连接CNTL-x/c/v按键事件
(这应该是一个简单的问题……但谷歌搜索它是一堆兔子的足迹。) 我有一个Windows窗体应用程序,带有TabControl。在第一个选项卡(这是一组文本框)上,CNTL-x/c/v键盘快捷键用于按预期进行剪切/复制/粘贴。在第二个选项卡(DataGridView)上,键盘快捷键不起任何作用 如何将这些按键事件连接到剪切/复制/粘贴例程?Vb.net 如何为剪切/复制/粘贴例程连接CNTL-x/c/v按键事件,vb.net,keyboard-shortcuts,winforms,Vb.net,Keyboard Shortcuts,Winforms,(这应该是一个简单的问题……但谷歌搜索它是一堆兔子的足迹。) 我有一个Windows窗体应用程序,带有TabControl。在第一个选项卡(这是一组文本框)上,CNTL-x/c/v键盘快捷键用于按预期进行剪切/复制/粘贴。在第二个选项卡(DataGridView)上,键盘快捷键不起任何作用 如何将这些按键事件连接到剪切/复制/粘贴例程? 请注意:我已经为我的DataGridView提供了很好的剪切/复制/粘贴例程——当从工具提示按钮或菜单启动时,它们工作正常。我只需要将这些SUB连接到CNTL-
请注意:我已经为我的DataGridView提供了很好的剪切/复制/粘贴例程——当从工具提示按钮或菜单启动时,它们工作正常。我只需要将这些SUB连接到CNTL-x/c/v按键事件。您应该已经有一个或多个以下事件供您控制:
keypress
、KeyUp
和KeyDown
像处理其他事件一样处理这些事件。在事件处理程序中,您可以对照提供的参数进行检查,以查看是否按下了任何控制键,以及还按下了哪些其他键
如果按了正确的组合键,您可以将内容添加到剪贴板或尝试从剪贴板复制到控件。根据Matthew的提示,我能够组合以下工作代码('DGVCutCopyPaste'当然是我在DataGridView中剪切/复制/粘贴多个单元格的类,而不是内置的):
“KeyPress”事件(具有不同的签名)让我遇到了一些麻烦,但是“keypup”和“keypdown”这样工作很好。很棒的东西,ewall。谢谢你提供了更多的细节。我目前没有访问IDE的权限,也不想发布错误的代码。
Private Sub DataGridView1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) _
Handles DataGridView1.KeyUp
If Control.ModifierKeys = Keys.Control Then
Select Case e.KeyCode
Case Keys.X
DGVCutCopyPaste.CutDGVCells(DataGridView1)
Case Keys.C
DGVCutCopyPaste.CopyDGVCells(DataGridView1)
Case Keys.V
If Clipboard.ContainsText Then
DGVCutCopyPaste.PasteDGVCells(DataGridView1)
End If
End Select
End If
End Sub