• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:矢印(左右)キーでイベントを発生させたい。)

矢印キーでイベント発生!キーボード操作性向上のための方法

このQ&Aのポイント
  • データベースの入力画面でリストボックスをキーボードで操作したい場合、矢印キーの使用を考えましょう。
  • 現在は[ESC]キーを使用してリストボックスを切り替えていますが、操作性が悪いと感じています。
  • フォーカスを移動させるためには、矢印の↑←キーで上に移動し、↓→キーで下に移動するように設定しましょう。

質問者が選んだベストアンサー

  • ベストアンサー
  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.3

KeyDown等では矢印ボタンなどのイベントはあがってきません。 参考になさってみてください、解決すると思います。 http://dobon.net/vb/dotnet/control/btndetectarraykey.html

MIKAHA
質問者

お礼

ご回答ありがとうございます。 →キーのイベントも発生しました。 内容も理解できました。 感謝します。

その他の回答 (2)

回答No.2

環境と問題の箇所の最小コードを載せてくれたほうが回答つくと思いますよ~

MIKAHA
質問者

補足

ご指導ありがとうございます。 Private Sub ListBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ListBox2.KeyPress 'Enterキーを取得してイベント発生 If e.KeyChar = Chr(Keys.Enter) Then 'リストボックスの項目が決定 End If 'ESCキーでリストボックスを2から1に切り替える If e.KeyChar = Chr(Keys.Escape) Then Dim se As Integer = ListBox2.SelectedIndex listBoxSet() ListBox1.Select() ListBox1.SelectedIndex = se End If End Sub 上記のエスケープキーではなく←→キーを使いたかったものですから・・

回答No.1

e.KeyCode = Keys.Left ではどうでしょ。

MIKAHA
質問者

お礼

早々のご回答ありがとうございます。 私が今使っているのはVB2008です。 e.KeyCodeが使えません(と思います) 変わりに[KeyChar]が出てくるのでそれを使っています。 Keys.Left はリストボックスの上下移動に割り当てられているように思えます。 それを解除できれば?って感じなんですけど・・