- PR -

VB.NETでSHIFT + TAB

投稿者投稿内容
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2005-06-08 18:51
引用:

オレンジさんの書き込み (2005-06-08 18:09) より:
If (keyData = Keys.Tab Or Keys.Shift) Then
'ここに処理を書く
End If


黛さんがかかれてますが、
keyData と、 Keys.Tab Or Keys.Shift を比較する必要があります。
上の式だと、keyData = Keys.Tab もしくは Keys.Shift(が0以外?)
になっちゃいます。
※演算子の優先順位の問題です。

それ以外の問題についてはなんも考えてないのでごめんなさい。
オレンジ
会議室デビュー日: 2005/02/03
投稿数: 17
投稿日時: 2005-06-08 18:56
どうも、複数のKEYCODEを取得できてないような感じなんですが・・・

どこかに単一取得とかそんなことを書いてある場所とかあるんでしょうか?

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-06-08 19:33
こんにちは、じゃんぬ です。

引用:

どうも、複数のKEYCODEを取得できてないような感じなんですが・・・
どこかに単一取得とかそんなことを書いてある場所とかあるんでしょうか?


もう答えは出てますけど...
Shift と Tab 以外のキーとの組み合わせ考えるとこうなります。

Dim uKeyCode As Keys = (keyData And Keys.KeyCode)
Dim uModifiers As Keys = (keyData And Keys.Modifiers)

If uKeyCode = Keys.Tab AndAlso uModifiers = Keys.Shift Then
  '/ ここに(ry
End If

# 面倒なので実証はしていません、ベタ打ちです。



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-06-08 21:57
私のところでは何故か、Keys.Tab が取れません。
というか、Tabキーだけ押と、KeyPress も KeyDown も、イベントハンドラをスルーしてしまうんですけど…。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-06-09 09:16
こんにちは、じゃんぬ です。

引用:

私のところでは何故か、Keys.Tab が取れません。
というか、Tabキーだけ押と、KeyPress も KeyDown も、イベントハンドラをスルーしてしまうんですけど…。


それは妙ですね。
ProcessCmdKey より前で排除されるとは考えられにくいですし。

私は上記の方法で Tab を捕捉できています。



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

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