gpt4 book ai didi

vb.net - 你如何在 VB.NET 中检测同时按下的按键,例如 "Ctrl + T"?

转载 作者:行者123 更新时间:2023-12-04 01:49:34 25 4
gpt4 key购买 nike

我试图检测在 VB.NET 中同时按下的“Control”和“t”键。我到目前为止的代码如下:

Private Sub frmTimingP2P_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyValue = Keys.ControlKey And e.KeyValue = Keys.T Then
MessageBox.Show("Ctrl + T")
End If
End Sub

我可以通过删除 and 语句和第二个 keyvalue 语句来检测一个或另一个键,但是当我尝试这个时我没有真正得到任何东西。还有其他方法吗?

谢谢

最佳答案

首先,And在您的代码中应该是 AndAlso因为它是一个逻辑运算符。 And在VB中是位运算符。接下来,您可以使用 Modifiers property测试修饰键:

If (e.KeyCode And Not Keys.Modifiers) = Keys.T AndAlso e.Modifiers = Keys.Ctrl Then
MessageBox.Show("Ctrl + T")
End If
e.KeyCode And Not Keys.Modifiers在条件的第一部分中,需要屏蔽修饰键。
If e.Modifiers = Keys.Ctrl也可以写成 If e.Control .

或者,我们可以通过直接询问是否按下了组合 Ctrl+T 来整理这两个查询:
If e.KeyCode = (Keys.T Or Keys.Ctrl) Then …

在这两个片段中,我们都使用了 bit masks .

关于vb.net - 你如何在 VB.NET 中检测同时按下的按键,例如 "Ctrl + T"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13803761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com