DOBON.NETプログラミング掲示板過去ログ
keyEventでShift+Tabの受け方を教えて下さい
題名: keyEventでShift+Tabの受け方を教えて下さい
著者: もん
日時: 2004/11/25 9:56:16
ID: 7640
この記事の返信元:
(なし)
この記事への返信:
[7641]
Re[1]: keyEventでShift+Tabの受け方を教えて下さい
java.lang.Nullpo
2004/11/25 10:19:23
ツリーを表示
環境/言語:[環境(Windows 2000) 使用言語 (VB.NET)]
分類:[.NET]
お世話になります。
keyEventでShift+Tabの受け方を教えて下さい
e.KeyCode = Keys.Tab And e.KeyCode = Keys.Shift
でしょうか?
e.KeyCode = Keys.Tab + e.KeyCode = Keys.Shift
でしょうか?
e.KeyCode = Keys.Tab + e.Shift = True
でしょうか?
e.KeyCode = Keys.Tab + e.KeyCode = Keys.Shift = True
でしょうか?
それとも全然違うのでしょうか?
宜しくお願い致します。
題名: Re[1]: keyEventでShift+Tabの受け方を教えて下さい
著者: java.lang.Nullpo
日時: 2004/11/25 10:19:23
ID: 7641
この記事の返信元:
[7640]
keyEventでShift+Tabの受け方を教えて下さい
もん
2004/11/25 9:56:16
この記事への返信:
[7642]
Re[2]: keyEventでShift+Tabの受け方を教えて下さい
もん
2004/11/25 10:31:11
ツリーを表示
■No7640に返信(もんさんの記事)
> keyEventでShift+Tabの受け方を教えて下さい
まず、「keyEvent」といっても、複数該当します。
とはいえ、
> e.KeyCode = Keys.Tab And e.KeyCode = Keys.Shift
> でしょうか?
> e.KeyCode = Keys.Tab + e.KeyCode = Keys.Shift
> でしょうか?
> e.KeyCode = Keys.Tab + e.Shift = True
> でしょうか?
> e.KeyCode = Keys.Tab + e.KeyCode = Keys.Shift = True
> でしょうか?
から察するに、KeyDownイベントだと仮定させて頂きます。
> それとも全然違うのでしょうか?
> 宜しくお願い致します。
まず Shift の押下を確認するために、
「e.Shift = True」であることを確認します。
その後に、「e.KeyCode = Keys.Tab」という条件を加えれば問題ありません。
If e.Shift = True Then
If e.KeyCode = Keys.Tab Then
'/ TODO:ここに処理を追加
End If
End If
# ただ、通常 TextBox では [Tab]キーによる KeyDown イベントは発生しないハズですが、
# その辺りは、質問内容から察するに説明不要のようですね。
蛇足ですが、
> e.KeyCode = Keys.Tab And e.KeyCode = Keys.Shift
このようなイメージで、System.Windows.Forms.Keys を表す時は、
keyData = Keys.Tab Or Keys.Shift
のようになります。
これは C で単一の引数に複数のキーワードを指定する時と同じですね。
題名: Re[2]: keyEventでShift+Tabの受け方を教えて下さい
著者: もん
日時: 2004/11/25 10:31:11
ID: 7642
この記事の返信元:
[7641]
Re[1]: keyEventでShift+Tabの受け方を教えて下さい
java.lang.Nullpo
2004/11/25 10:19:23
この記事への返信:
[7645]
Re[3]: keyEventでShift+Tabの受け方を教えて下さい
佐々木
2004/11/25 10:39:33
ツリーを表示
ご回答有難う御座いました。m(_ _)m
コマンドボタンをオーバーライドしTabキーを認識させています。
KeyDownEventでShift+Tabを認識させたいです
If e.Shift = True Then
If e.KeyCode = Keys.Tab Then
'/ TODO:ここに処理を追加
ここに隣のボタンにFocusを遷移させたいのですが
End If
End If
この記述では上手く行きません
Tabは認識しています。
Shiftも認識しています。
上記のIfで e.Shift = True は認識し
次の
If e.KeyCode = Keys.Tab Thenまで
行くのですが、その中まで入りません。
何故でしょうか?
題名: Re[3]: keyEventでShift+Tabの受け方を教えて下さい
著者: 佐々木
日時: 2004/11/25 10:39:33
ID: 7645
この記事の返信元:
[7642]
Re[2]: keyEventでShift+Tabの受け方を教えて下さい
もん
2004/11/25 10:31:11
この記事への返信:
[7646]
Re[4]: keyEventでShift+Tabの受け方を教えて下さい
もん
2004/11/25 10:45:24
ツリーを表示
■No7642に返信(もんさんの記事)
> ご回答有難う御座いました。m(_ _)m
>
> コマンドボタンをオーバーライドしTabキーを認識させています。
>
> KeyDownEventでShift+Tabを認識させたいです
>
> If e.Shift = True Then
> If e.KeyCode = Keys.Tab Then
> '/ TODO:ここに処理を追加
> ここに隣のボタンにFocusを遷移させたいのですが
> End If
> End If
>
> この記述では上手く行きません
> Tabは認識しています。
> Shiftも認識しています。
>
> 上記のIfで e.Shift = True は認識し
> 次の
>
> If e.KeyCode = Keys.Tab Thenまで
>
> 行くのですが、その中まで入りません。
> 何故でしょうか?
こんにちわ。
デバック実行されているのでしょうか?
If e.KeyCode = Keys.Tab Thenの中でメッセージを出すとかしてみるのはどうでしょう。
題名: Re[4]: keyEventでShift+Tabの受け方を教えて下さい
著者: もん
日時: 2004/11/25 10:45:24
ID: 7646
この記事の返信元:
[7645]
Re[3]: keyEventでShift+Tabの受け方を教えて下さい
佐々木
2004/11/25 10:39:33
この記事への返信:
[7648]
Re[5]: keyEventでShift+Tabの受け方を教えて下さい
java.lang.Nullpo
2004/11/25 11:08:56
ツリーを表示
ご返事有難う御座いました。。
MsgBoxを出す様にしましたが、出ません。
題名: Re[5]: keyEventでShift+Tabの受け方を教えて下さい
著者: java.lang.Nullpo
日時: 2004/11/25 11:08:56
ID: 7648
この記事の返信元:
[7646]
Re[4]: keyEventでShift+Tabの受け方を教えて下さい
もん
2004/11/25 10:45:24
この記事への返信:
[7649]
Re[6]: keyEventでShift+Tabの受け方を教えて下さい
もん
2004/11/25 11:23:26
ツリーを表示
■No7646に返信(もんさんの記事)
仰ってる事実が、イマイチわかりません。
> If e.KeyCode = Keys.Tab Thenまで
> 行くのですが、その中まで入りません。
ホントに、e.KeyCode は Keys.Tab でしょうか?
変数ウォッチなどで確認してください。
とはいえ、
> Tabは認識しています。
> Shiftも認識しています。
とか明記してますし・・・ でも、そうなると・・・
If e.Shift = True Then
If e.KeyCode = Keys.Tab Then
MessageBox.Show("ココに処理を追加")
End If
End If
普通に考えて、条件満たしていれば表示されるハズですけどねぇ・・・
# おっしゃっていることをすべて信じると矛盾が生じるのは何故でしょう。
題名: Re[6]: keyEventでShift+Tabの受け方を教えて下さい
著者: もん
日時: 2004/11/25 11:23:26
ID: 7649
この記事の返信元:
[7648]
Re[5]: keyEventでShift+Tabの受け方を教えて下さい
java.lang.Nullpo
2004/11/25 11:08:56
この記事への返信:
[7651]
Re[7]: keyEventでShift+Tabの受け方を教えて下さい
ぺがらぼ
2004/11/25 11:49:51
ツリーを表示
ご返信有難う御座いました。
ソースをそのままコピーして貼り付けます。
If e.Shift = True Then
If e.KeyCode = Keys.Tab Then
MessageBox.Show("出た")
btnUpdate.Focus() '登録ボタンFocus
End If
End If
何処かおかしいでしょうか?
このKeyDownEventの上に普通のTab押下の処理は
通ります。
If e.Shift = True Thenのイフ文も入りますので
どちらも認識していると思います。
題名: Re[7]: keyEventでShift+Tabの受け方を教えて下さい
著者: ぺがらぼ
URL:
http://pegalabo.net/
日時: 2004/11/25 11:49:51
ID: 7651
この記事の返信元:
[7649]
Re[6]: keyEventでShift+Tabの受け方を教えて下さい
もん
2004/11/25 11:23:26
この記事への返信:
[7653]
Re[8]: keyEventでShift+Tabの受け方を教えて下さい
java.lang.Nullpo
2004/11/25 13:23:15
ツリーを表示
もんさん、こんにちは。
こうなのでは?
If e.Shift = True And e.KeyCode = Keys.Tab Then
MessageBox.Show("出た")
End If
題名: Re[8]: keyEventでShift+Tabの受け方を教えて下さい
著者: java.lang.Nullpo
日時: 2004/11/25 13:23:15
ID: 7653
この記事の返信元:
[7651]
Re[7]: keyEventでShift+Tabの受け方を教えて下さい
ぺがらぼ
2004/11/25 11:49:51
この記事への返信:
[7654]
Re[9]: keyEventでShift+Tabの受け方を教えて下さい
ぺがらぼ
2004/11/25 13:31:52
ツリーを表示
■No7651に返信(ぺがらぼさんの記事)
> もんさん、こんにちは。
>
> こうなのでは?
> If e.Shift = True And e.KeyCode = Keys.Tab Then
> MessageBox.Show("出た")
> End If
同じことだと思いますが、
1行にまとめるなら、AndAlso を使うべきような・・・
# でも、If のネストとAndAlsoは同じ動きをするハズ・・・
題名: Re[9]: keyEventでShift+Tabの受け方を教えて下さい
著者: ぺがらぼ
URL:
http://pegalabo.net/
日時: 2004/11/25 13:31:52
ID: 7654
この記事の返信元:
[7653]
Re[8]: keyEventでShift+Tabの受け方を教えて下さい
java.lang.Nullpo
2004/11/25 13:23:15
この記事への返信:
[7655]
Re[10]: keyEventでShift+Tabの受け方を教えて下さい
java.lang.Nullpo
2004/11/25 13:42:04
ツリーを表示
java.lang.Nullpoさん、こんにちは。
揚げ足を取るみたいで申し訳無いのですが...
>>こうなのでは?
>>If e.Shift = True And e.KeyCode = Keys.Tab Then
>> MessageBox.Show("出た")
>>End If
>
> 同じことだと思いますが、
えっと、デバッグをしていただくと、解るのですが、
Shiftキーを押した時点でイベントが発生するので、
If e.KeyCode = Keys.Tab Then
のところで、キーコード検出内容はShiftKeyになってしまうのです。
それを防ぐ為には、Shiftキーをスルーする必要があります。
で、改めて、Tabキーのキーコード検出時に両方のキーコードが格納されるようにする必要があるのです。
> 1行にまとめるなら、AndAlso を使うべきような・・・
> # でも、If のネストとAndAlsoは同じ動きをするハズ・・・
これについては、個人的な好みもあるので...
題名: Re[10]: keyEventでShift+Tabの受け方を教えて下さい
著者: java.lang.Nullpo
日時: 2004/11/25 13:42:04
ID: 7655
この記事の返信元:
[7654]
Re[9]: keyEventでShift+Tabの受け方を教えて下さい
ぺがらぼ
2004/11/25 13:31:52
この記事への返信:
[7656]
Re[11]: keyEventでShift+Tabの受け方を教えて下さい
ぺがらぼ
2004/11/25 13:47:29
ツリーを表示
■No7654に返信(ぺがらぼさんの記事)
> java.lang.Nullpoさん、こんにちは。
> 揚げ足を取るみたいで申し訳無いのですが...
そーゆーことでしたか。
デバッガでインラインでやれば、ブレイク位置が判定前だと受け付けが単一キーになりますね。
ブレイクしないで実行しなければ表示されますが(確認済み)
自分で確認取ってるだけに、同じ状況だと決め付けていたようですね。
題名: Re[11]: keyEventでShift+Tabの受け方を教えて下さい
著者: ぺがらぼ
URL:
http://pegalabo.net/
日時: 2004/11/25 13:47:29
ID: 7656
この記事の返信元:
[7655]
Re[10]: keyEventでShift+Tabの受け方を教えて下さい
java.lang.Nullpo
2004/11/25 13:42:04
この記事への返信:
[7657]
Re[12]: keyEventでShift+Tabの受け方を教えて下さい
java.lang.Nullpo
2004/11/25 14:03:05
ツリーを表示
■No7655に返信(java.lang.Nullpoさんの記事)
> ■No7654に返信(ぺがらぼさんの記事)
>>java.lang.Nullpoさん、こんにちは。
>>揚げ足を取るみたいで申し訳無いのですが...
>
> そーゆーことでしたか。
> デバッガでインラインでやれば、ブレイク位置が判定前だと受け付けが単一キーになりますね。
> ブレイクしないで実行しなければ表示されますが(確認済み)
>
> 自分で確認取ってるだけに、同じ状況だと決め付けていたようですね。
ごめんなさい。私の説明に誤りがありました。
java.lang.Nullpoさんのコーディングは問題ないです。
ただ、デバッガを使用すると期待した結果にならない事は確かです。
題名: Re[12]: keyEventでShift+Tabの受け方を教えて下さい
著者: java.lang.Nullpo
日時: 2004/11/25 14:03:05
ID: 7657
この記事の返信元:
[7656]
Re[11]: keyEventでShift+Tabの受け方を教えて下さい
ぺがらぼ
2004/11/25 13:47:29
この記事への返信:
[7670]
Re[13]: keyEventでShift+Tabの受け方を教えて下さい
たら
2004/11/26 11:20:00
[解決]
ツリーを表示
ぺがさん、フォロー感謝します。
■No7656に返信(ぺがらぼさんの記事)
> ごめんなさい。私の説明に誤りがありました。
> java.lang.Nullpoさんのコーディングは問題ないです。
> ただ、デバッガを使用すると期待した結果にならない事は確かです。
はい、[↓]はそういう意味です。
> > ブレイク位置が判定前だと受け付けが単一キーになりますね。
とはいえ、私も指示がまずかったですね...。
お手数かけましたm(_ _)m > ぺがさん
/* --------------------------------------------------------------- */
今回、KeyDown イベントの KeyEventArgs でのお話でしたので、
KeyCode メンバと Shift メンバ で表現すべきかと思ったのですが、
If e.KeyData = (Keys.Tab Or Keys.Shift) Then
という表現もあります。
# とはいえ、色んな情報を出しても混乱しますね。
題名: Re[13]: keyEventでShift+Tabの受け方を教えて下さい
著者: たら
日時: 2004/11/26 11:20:00
ID: 7670
この記事の返信元:
[7657]
Re[12]: keyEventでShift+Tabの受け方を教えて下さい
java.lang.Nullpo
2004/11/25 14:03:05
この記事への返信:
(なし)
ツリーを表示
様々なご伝授有難う御座いました。
色々解析したところ、ボタンコントロールをオーバーライドしているクラスで
Key制限をかけていました。
単一のKeyEventは認識するのですが、Shift+Tabキーの認識をしていませんでした
デバックしていても単一しか確認出来ない為、認識していたものと勘違いしていました。
本当に申し訳御座いませんでした。
未だ初心者ですので、許してください。
本当に皆さま、有難う御座いました。
又色々相談させて下さい。
宜しくお願い致します。
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
お世話になります。
keyEventでShift+Tabの受け方を教えて下さい
e.KeyCode = Keys.Tab And e.KeyCode = Keys.Shift
でしょうか?
e.KeyCode = Keys.Tab + e.KeyCode = Keys.Shift
でしょうか?
e.KeyCode = Keys.Tab + e.Shift = True
でしょうか?
e.KeyCode = Keys.Tab + e.KeyCode = Keys.Shift = True
でしょうか?
それとも全然違うのでしょうか?
宜しくお願い致します。