■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#12085-0
ボタン類の矢印キーのイベント取得の方法は無いのでしょうか?
Form上でKeyPreviewプロパティをTrueにして、
ボタンコントロール(CommandButton,OptionButton等)の矢印キーのイベント
を検出する方法についてどなたかご存知無いでしょうか?

またこちらで、苦肉の策としてActiveXコントロール(TextBoxとOptionButton
を含み、常にテキストボックスがフォーカスを受け取る)を作成しました所、
「Form上のコントロールイベントXX_KeyDownではイベントが発生するのに、
Form_KeyDownのイベントが起きない」という奇妙な現象にハマりました。
もちろんFormのKeyPreviewはTrueになっています。

最終的にはボタン類から矢印キーでテキストボックス等にフォーカスを
移したいだけなのですが、何か解決策がありましたら教えてください。
よろしくお願いします。
#12093-0
RE#12085:ボタン類の矢印キーのイベント取得の方法は無いのでしょうか?
逃げ的方法ですが、PictureBox をひとつ貼って、TabIndex は 0 にしておいて、ボタンは配列にして
おいて、以下のコードではどうでしょうか。

Private Sub Command1_Click(Index As Integer)
    Picture1.SetFocus
End Sub

Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer)
    MsgBox CStr(KeyCode)
End Sub

つまり、キー入力は全て Picture1 で処理してしまえ、という事です。 ボタン等の TabStop は、
全て False にしておきましょう。 本来、カーソルキーはコントロール間の移動用でしょうし、多少
無茶な使い方かも知れませんが。
#12099-0
RE#12085:ボタン類の矢印キーのイベント取得の方法は無いのでしょうか?
> Form上でKeyPreviewプロパティをTrueにして、
> ボタンコントロール(CommandButton,OptionButton等)の矢印キーのイベント
> を検出する方法についてどなたかご存知無いでしょうか?
 こんなのは、どうでしょう?
ボタンコントロール(CommandButton,OptionButton等)がフォーカスを失ったときに、
そのコントロールを覚えておき、Formのkeydownのイベントで、つぎにフォーカスを移したい
ものに、SetFoucasする、ってのは。
 でも、なんで、Form.KeyPreviewプロパティをTrueにするひつようがあるのかな?
それを、とれば一番良いのですが・・。
それができないから、悩むんだけどね。 がんばってください。 では。(^o^)
このページと関連する記事:
#28591-0コマンドボタン KeyDownイベントで 矢印キーを検出したい。2000-08-24(木) 13:54
#11491-0キーボードのじゅうじキーによる操作2000-09-18(月) 12:18
#13607-0矢印キーの検出方法2000-12-22(金) 10:41
#2018-0KeyDonw イベントでの KeyCode の値1999-07-26(月) 12:05
#3022-0テキストボックスで。1999-11-06(土) 16:29
#14938-0コマンドボタン上での矢印キー2001-03-08(木) 14:14
#35026-0コマンドボタンで矢印キーを操作する方法教えて♪2000-12-09(土) 10:01
#18393-0コマンドボタンのイベントについて2001-10-23(火) 13:09
#3155-0キー操作の取得1999-08-12(木) 23:36
#2159-2CmdButtonのKeyDownイベント2001-11-28(水) 07:38
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)