↑↓キーでフォーカスを移動するには?

解決


R  2008-01-11 23:43:55  No: 144275

連投になりますが質問です。いろいろ調べてみたのですが
テキストボックスを並べたもののフォーカスを上下に動かすパターンは
VB6の方法でしか載っていなく試行錯誤してみましたがどうしてもうまくいきません。よろしくおねがいします。


デラーズ  2008-01-12 00:55:27  No: 144276

tabとshift+tabで移動するとかじゃなくて?
enter押したら下のテキストに移動したいとかなら、keypressで判断してカーソル位置を次のテキストボックスの初めにいくようにすればいいかと。
他のやり方では、規定の文字数が入力されたら次のテキストにカーソル移動とかにしてもいいかもしんない。


デラーズ  2008-01-12 00:58:43  No: 144277

おまけ

上下キーの割り当てはkeycodeやasciicodeを調べてみるといいかもしんない。


さるべーじ  URL  2008-01-12 01:24:34  No: 144278

.NETになってから、Tabキーとか矢印キーとかではKeyDownイベントが発生しないんですよね。

Tabキーの例ですが、派生クラスを作って対応したことがあります。
手前味噌ですが、参考にしていただければ。

http://salv.miscnotes.com/2005/01/post_69.php


魔界の仮面弁士  2008-01-12 01:27:34  No: 144279

これでどうでしょう。

Public Class Form1
  Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
    If (keyData And Keys.Up) = Keys.Up Then
      SelectNextControl(ActiveControl, False, True, True, True)
    ElseIf (keyData And Keys.Down) = Keys.Down Then
      SelectNextControl(ActiveControl, True, True, True, True)
    End If
    Return MyBase.ProcessCmdKey(msg, keyData)
  End Function
End Class


R  2008-01-15 18:49:41  No: 144280

皆様ありがとうございました無事解決することができました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加