連投になりますが質問です。いろいろ調べてみたのですが
テキストボックスを並べたもののフォーカスを上下に動かすパターンは
VB6の方法でしか載っていなく試行錯誤してみましたがどうしてもうまくいきません。よろしくおねがいします。
tabとshift+tabで移動するとかじゃなくて?
enter押したら下のテキストに移動したいとかなら、keypressで判断してカーソル位置を次のテキストボックスの初めにいくようにすればいいかと。
他のやり方では、規定の文字数が入力されたら次のテキストにカーソル移動とかにしてもいいかもしんない。
おまけ
上下キーの割り当てはkeycodeやasciicodeを調べてみるといいかもしんない。
.NETになってから、Tabキーとか矢印キーとかではKeyDownイベントが発生しないんですよね。
Tabキーの例ですが、派生クラスを作って対応したことがあります。
手前味噌ですが、参考にしていただければ。
http://salv.miscnotes.com/2005/01/post_69.php
これでどうでしょう。
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
皆様ありがとうございました無事解決することができました
ツイート | ![]() |