- ベストアンサー
矢印キーでイベント発生!キーボード操作性向上のための方法
- データベースの入力画面でリストボックスをキーボードで操作したい場合、矢印キーの使用を考えましょう。
- 現在は[ESC]キーを使用してリストボックスを切り替えていますが、操作性が悪いと感じています。
- フォーカスを移動させるためには、矢印の↑←キーで上に移動し、↓→キーで下に移動するように設定しましょう。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
KeyDown等では矢印ボタンなどのイベントはあがってきません。 参考になさってみてください、解決すると思います。 http://dobon.net/vb/dotnet/control/btndetectarraykey.html
その他の回答 (2)
- ProKaseifu
- ベストアンサー率51% (98/192)
環境と問題の箇所の最小コードを載せてくれたほうが回答つくと思いますよ~
補足
ご指導ありがとうございます。 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 上記のエスケープキーではなく←→キーを使いたかったものですから・・
- ProKaseifu
- ベストアンサー率51% (98/192)
e.KeyCode = Keys.Left ではどうでしょ。
お礼
早々のご回答ありがとうございます。 私が今使っているのはVB2008です。 e.KeyCodeが使えません(と思います) 変わりに[KeyChar]が出てくるのでそれを使っています。 Keys.Left はリストボックスの上下移動に割り当てられているように思えます。 それを解除できれば?って感じなんですけど・・
お礼
ご回答ありがとうございます。 →キーのイベントも発生しました。 内容も理解できました。 感謝します。