请问ABCDEF等键同时按,这样的功能不能实现,Keydown的e.KeyCode好像只能捕到一个键,另外,会不会有多键冲突的问题
请问ABCDEF等键同时按,这样的功能不能实现,
Keydown的e.keycode好像一次只能捕到一个键,
比如:
private void Multi_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyCode == Keys.A)
MessageBox.Show("A"); //只能监听到一个键被按下.
}
能不能
同时按下ABCDEF.
请高手看下
另外,会不会有多键冲突的问题
[解决办法]
var code = GetVirtualKeyCode(Key.A);
if ((array[code] & 0x80) != 0) {
// It's pressed
} else {
// It's not pressed
}
Dim strKeys As String'所有被按下的键值
Private Sub Form2_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
Dim strNowKey As String = e.KeyChar '获取当前被按下的键值
strKeys = strKeys & strNowKey
End Sub
Private Sub Form2_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
MessageBox.Show(strKeys)
strKeys = Nothing
End Sub