Vb.net 在变量中按Get键-Visual Studio Basic 2017

Vb.net 在变量中按Get键-Visual Studio Basic 2017,vb.net,visual-studio,Vb.net,Visual Studio,我正在尝试制作一个简单的程序,粘贴你在文本框中写的任何东西。我正在Visual Studio 2017中进行此操作。这是一个使用Visual Basic的Windows窗体应用程序。它在当前状态下工作,但我想添加自定义密钥的功能。现在,当您按下F12时,它会发送消息。我想要一种简单的方法,向用户请求一个键,在他按下它之后,它被设置为新的粘贴键。你知道我怎样才能做到这一点吗?提前谢谢 下面是我的代码,其中有Keys.F12我有/想要一个保存用户设置的键的变量 Dim hotkey As Boole

我正在尝试制作一个简单的程序,粘贴你在文本框中写的任何东西。我正在Visual Studio 2017中进行此操作。这是一个使用Visual Basic的Windows窗体应用程序。它在当前状态下工作,但我想添加自定义密钥的功能。现在,当您按下F12时,它会发送消息。我想要一种简单的方法,向用户请求一个键,在他按下它之后,它被设置为新的粘贴键。你知道我怎样才能做到这一点吗?提前谢谢

下面是我的代码,其中有Keys.F12我有/想要一个保存用户设置的键的变量

Dim hotkey As Boolean
hotkey = GetAsyncKeyState(Keys.F12)
If hotkey = True Then
SendKeys.Send(TextBox1.Text)
End If

我想这就是你想要的:

Private myNewKey As Char

Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
    If e.KeyChar = Convert.ToChar(myNewKey) Then
        e.Handled = True ' to prevent getting the Press Key to be entered  
        TextBox1.Text = Clipboard.GetText
    End If
End Sub

Private Sub TextBox2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox2.KeyPress
    myNewKey = e.KeyChar
    Label1.Text = "New paste key set to: " + e.KeyChar.ToString
End Sub
每次用户根据自己的意愿更改粘贴键时,此程序都会更改粘贴键。只需声明一个包含新指定键的变量,当用户被要求输入新的按键时,该变量就应该被分配给它

最后,当用户点击同一个键时,将触发
TextBox1
KeyPress事件,并通过
Clipboard.GetText
设置文本框的文本

键设置为5,当用户在聚焦TextBox1(第二个框)期间点击该键时,文本将被粘贴


为什么不使用弹出窗口?您应该处理
键下事件。然后,密钥包含在
e.KeyCode
属性中。理想情况下,您需要一个组合键,在这种情况下,您可以使用
e.KeyData
属性。“它被设置为新的粘贴键”-我没有得到这个逻辑。是的,但是@yoss是如何设置的@LinuxMan我通过按下按钮来粘贴东西。我这样做是为了有一些我需要的东西(比如第二个CTRL+C和CTRL+V),我想更改按钮,可能会弹出一个窗口,这样我就可以用我想要的任何按钮粘贴一些东西(我可以更改它)是的!非常感谢你,我一直在寻找这样的东西,它在我的程序伟大的作品!
Private myNewKey As Char

Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
    If e.KeyChar = Convert.ToChar(myNewKey) Then
        e.Handled = True ' to prevent getting the Press Key to be entered  
        TextBox1.Text = Clipboard.GetText
    End If
End Sub

Private Sub TextBox2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox2.KeyPress
    myNewKey = e.KeyChar
    Label1.Text = "New paste key set to: " + e.KeyChar.ToString
End Sub