- PR -

複数タブのショートカットキー認識方法

投稿者投稿内容
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2004-07-28 13:38
If (Control.ModifierKeys And Keys.Alt) = Keys.Alt and 以下同じ

こんな風に書いてみましたがダメでした。

If e.Alt = true and e.KeyCode = Keys.A Then

これでもダメでした。
根本的に(私の書き方が)間違えているような気もするんですが、
ほかに浮かぶ書き方もこれと同じようなものばかりでやはり単体で認識してしまいました・・・。

実際のコードなど、さしつかえなければ教えていただけたら幸いです。
カウンター
大ベテラン
会議室デビュー日: 2004/02/19
投稿数: 123
投稿日時: 2004-07-28 14:32
こんにちは。ひきつづきカウンターです。

引用:

ちづるさんの書き込み (2004-07-28 13:38) より:
If (Control.ModifierKeys And Keys.Alt) = Keys.Alt and 以下同じ



自分もちづるさんと同じように書いて失敗したことあります。
ちなみに下記のようにして上手くいきましたよ。

If e.Alt Then

  If (Control.ModifierKeys = Keys.Alt And e.KeyValue = 65) = True Then
    MsgBox("true")
  End If

End If

ちなみに"A"と"a"では値が違います。確か"a"が67だったような気がしますが
ちょっと定かではないのでデバックして確かめてみてください。

また、Shift+●を捕まえるにはちづるさんのやり方で上手くいくと思います。
ちづる
ベテラン
会議室デビュー日: 2004/07/27
投稿数: 72
投稿日時: 2004-07-28 15:13
カウンターさんのコードを使用してもなぜかできませんでした・・・。
で、発想の転換で「KeyDown」でだめなら「KeyUp」で動くのでは?と思い、
少しだけカウンターさんのコードを変えて実行してみたら上手くいきました。
ありがとうございました。

--変更した部分--
If (Control.ModifierKeys = Keys.Alt And e.KeyValue = 65) = True Then

If e.keycode = keys.A Then

KeyDownで上手くいかない原因がわかる方がいっらしゃいますでしょうか?

スキルアップ/キャリアアップ(JOB@IT)