VB.NETで複数のキーストロークを読むのに手助けができます。たとえば、Ctrl + P + Hキーの組み合わせを読み取ることができます。以下のコードを試しましたが、あなたの記事を読んだ後VB.NETでのキーの組み合わせ
if e.control=true and e.keycode=keys.P and e.keycode=keys.H then
end if
VB.NETで複数のキーストロークを読むのに手助けができます。たとえば、Ctrl + P + Hキーの組み合わせを読み取ることができます。以下のコードを試しましたが、あなたの記事を読んだ後VB.NETでのキーの組み合わせ
if e.control=true and e.keycode=keys.P and e.keycode=keys.H then
end if
[OK]をフォームのKeyDownで... を仕事と私は理解することができますどのような、このようなものは、トリックを行う必要がありますから。
Public Class Form1
Dim keyCombo As New List(Of Keys)({Keys.ControlKey, Keys.H, Keys.P})
Dim currentKeys As New List(Of Keys)
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
currentKeys.Add(e.KeyCode)
If currentKeys.Intersect(keyCombo).Count = keyCombo.Count Then
MessageBox.Show("CTRL + H + P Has Been Pressed....")
currentKeys.Clear()
End If
End Sub
Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
currentKeys.Remove(e.KeyCode)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Sub
End Class
ご質問があれば、私に知らせて、私はしかし、これはあなたの方法でよく、本当にあなたを取得する必要があり、それらに答えるために全力を尽くす:)
これは非常に特殊な解決策でした。ニース! –
@VisualVincent Cheers :)普通の 'if e.keycode = 'よりずっとこの時間を使いました。 – Werdna
キーの組み合わせを処理するために' ProcessCmdKey'関数をオーバーライドします。なぜ私はそれが標準の 'KeyDown/KeyPress/KeyUp'イベントよりも好きです。 –
ことを検出する簡単な方法はありません一度に複数の非修飾キーが押されます。なぜあなたはそのようなことをしたいのですか?私はあなたが実際に解決しようとしている問題に対するより良い解決策があると賭けるでしょう。私が間違っている場合は、複数のイベントを処理し、それらが特定のシーケンスで発生しているかどうかを判断するか、複数のAPI呼び出しを行うことが必要になります。 – jmcilhinney
コントロールキーは修飾キーです。ここに例を見てください: http://stackoverflow.com/questions/4442805/vb-net-key-combination – minimalist