Sto cercando di rilevare i tasti "Control" e "t" che vengono premuti contemporaneamente in VB.NET. Il codice che ho finora è la seguente:Come si rilevano tasti simultanei come "Ctrl + T" in VB.NET?
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
posso rilevare un tasto o l'altro rimuovendo il e la dichiarazione e la seconda dichiarazione di valori-chiave, ma io in realtà non ottiene nulla quando provo questo. C'è un altro metodo?
Grazie
Aha, gotcha. Ho un'altra domanda però. Quale chiave tipicamente vuoi usare per il modificatore? O non importa? – J2Tuner
Credo che 'E' in VB sia un operatore bit sia un operatore logico, a seconda del contesto. 'AndAlso' è solo un operatore logico in cortocircuito. – Kratz
@Kratz Sebbene tecnicamente corretto, credo fermamente che l'utilizzo di 'AndAlso' esclusivamente come operatore condizionale rende il codice più chiaro e meno soggetto a errori. Lo considero un bug del compilatore (documentato) che 'And' funziona anche qui. –