- - PR -
CTL+TABの拾い方について
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-20 14:50
いつもお世話なっております。 現在、VB.net2003にてWindowsアプリケーションの開発を行っております。 さっそく、質問なのですが、キーボードにて CTL+TABが押されたときに処理したい内容があるのですが、 CTL+TABの拾い方がわからなくて困っています・・・。 CTLだけなら、Keydown、Tabだけなら、ProcessDialogKeyをオーバーライドして 取得できますが、組み合わさった時の取得方法がわからないのです・・・。 どうか、知恵をお借りできないでしょうか?? どうか、よろしくお願いいたします。 | ||||||||||||
|
投稿日時: 2006-06-20 15:01
KeyUpイベントで拾えます。 以下のコードでどうでしょう?
[追加] #すいません。押されたときの処理でしたか・・・ [ メッセージ編集済み 編集者: 深山 編集日時 2006-06-20 15:04 ] | ||||||||||||
|
投稿日時: 2006-06-20 15:02
KeyDownイベントでは第二引数がKeyEventArgsになるはずなので、
If e.Control AndAlso e.KeyCode = Keys.Tab Then で判定できると思います。 あっ、被った(^^; KeyUpの方がいいのかな? Ctrlを押しながらTabを押し、先にCtrlを離してからTabを離した場合どう動いた方がいいかによるのかな? [ メッセージ編集済み 編集者: ぼのぼの 編集日時 2006-06-20 15:04 ] | ||||||||||||
|
投稿日時: 2006-06-20 15:44
ぼのぼの様、深山様
さっそくのご返信ありがとうございます。 >ぼのぼの様 >If e.Control AndAlso e.KeyCode = Keys.Tab Then なぜか、テキストボックスでは上記IF文に入ってくれません??? リストボックス、コンボボックス等だと入るのですが・・・。 | ||||||||||||
|
投稿日時: 2006-06-20 15:59
テキストボックスでのtabキーEnterキーの扱いについてが参考になると思います。 | ||||||||||||
|
投稿日時: 2006-06-20 16:17
ProcessDialogKey メソッドで、取得すべきかどうかは別として、普通に取得できますけど... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-06-20 16:24
皆様、ご返信ありがとうございます。 >じゃんぬねっと様 >ProcessDialogKey メソッドで、取得すべきかどうかは別として、普通に取得できます>けど... Tabキーに関しては、プリプロセスの関係で普通には取れないような気がするのですが・・・。実際に、取れなかったのですが・・・。 | ||||||||||||
|
投稿日時: 2006-06-20 16:52
私は、こちらと [↓] を見て、'keyData から取得する方法' を、ご存知でないのかと思ったのです。 論理積で取得する方法を存じない == keyData に何が格納されているかを存じない、のかと... 読み違いをしてしまいました、お許しください。(*_ _)
先の投稿とは、相反していることを書いているような気がしますが、 それはともかく、クライアント入力領域などでは、[Tab] キーは取得できません。 ProcessDialogKey メソッドで行っている処理を、ProcessCmdKey メソッドに丸っと移植すれば、望みどおり取得はできます...
ですが、Is~ 関係のメソッドをオーバーライドすべきでしょうね。 リンク先に答えが書いてあるかと思いますので、一度ご参照ください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |