2017-03-23 14 views
-1

私はかなり長い間、私の問題の解決策を探してきました!私は実際に私の問題のために興味深いものを実際に見つけなかったので、私はあなたに尋ねています。TextBoxでホットキーを選択

基本的に私が持っているのはウィンドウとその中にあるある程度のTextBoxのコントロールです。 TextBoxコントロールは、ユーザーが選択したホットキーのショートカットを取得することになっています。例:

ショートカットはMessageBoxです。私は+ Ctrlキー私はテキストボックスは、私が押されているものを見せたいをを押すと、はCtrl +は何ですか。

しかし、私はTextBoxがほぼすべての可能な組み合わせを得ることができるようにしたいと思います。一度に2つのキーを選択してショートカットできます。可能なショートカットの

例:

  • Ctrlキー + X
  • アルト + B
  • Altキー +
  • TAB + K
  • F11
  • Altキー + F4
+0

修飾子ではないので、 'TAB'では動作しないと思います。だから、あなたは 'TAB'を押さえずに別のキーを押します。 – Bugs

+0

私はそれを使っているプログラムを見たのでTABも使うことができる方法がなければならないと思う。 – TheProgressViewer

+0

'TAB'タブをコントロールで押す。私は思っていないホットキーとして使われていません。これはキャプチャできないと言っているのではなく、 'PreviewKeyDown'メソッドが必要だと思います。私はちょうど(または少なくともきれいに) 'TAB' +別のキーをキャプチャするとは思わない( – Bugs

答えて

0

は、あなたのコードの小さなビットをしました'ほとんどの場合、あなたのユースケースに対して適切に動作するように、少し変更する必要があります。

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown 
    If (e.Control AndAlso e.KeyValue <> 17) Then 
     Me.Text = "CTRL + " & e.KeyData.ToString() 
    ElseIf (e.Alt AndAlso e.KeyValue <> 18) Then 
     Me.Text = "ALT + " & e.KeyData.ToString() 
    Else 
     Me.Text = e.KeyData.ToString() 
    End If 
End Sub 
+0

ありがとうございます!可能なすべてのキーの組み合わせについて、これらのケースを実行する必要がありますか? – TheProgressViewer

+0

いいえ、alt +やctrl + – Jaxi

関連する問題