Vb.net 如何为剪切/复制/粘贴例程连接CNTL-x/c/v按键事件

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-

(这应该是一个简单的问题……但谷歌搜索它是一堆兔子的足迹。)

我有一个Windows窗体应用程序,带有TabControl。在第一个选项卡(这是一组文本框)上,CNTL-x/c/v键盘快捷键用于按预期进行剪切/复制/粘贴。在第二个选项卡(DataGridView)上,键盘快捷键不起任何作用

如何将这些按键事件连接到剪切/复制/粘贴例程?


请注意:我已经为我的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