- - PR -
KeyEnter押下時、フォーカスの移動
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-06-30 17:47
こんにちは、ゆきです。
VB.netのWindowsフォームでKeyEnter押下時、 フォーカスの移動はどのようにして行えばいいのですか? 画面上にTextBoxを複数配置して、KeyEnterを 押下する度にTabIndexの順に移動していくという 方法です。 VB6.0では、確かKeyNextっていうのがあったような気がします。 できれば、FormのKeyDownイベントで一括して行いたいのですが…。 どなたか知ってる方がいましたら、教えて下さいね。 | ||||
|
投稿日時: 2003-06-30 18:27
確認していませんが...
Form.SelectNextControlメソッドはどうでしょう? | ||||
|
投稿日時: 2003-06-30 18:31
以前に同じような状況のスレッドがありましたのでご参考まで。 ■EnterKeyでのカーソル移動 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=4983&forum=7 | ||||
|
投稿日時: 2003-07-01 12:02
こんにちは。私もちょうど昨日この件で困っていて、以前のスレッドを参考にさせて頂きました。その時、私の場合だけかもしれませんが、正常に動作しませんでしたので、その点を一応記しておきます。
------------------------------------------------------------------ 参考にさせて頂いたプログラム Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown If e.KeyCode = Keys.Enter Then Me.SelectNextControl(sender, False, True, True, True) End If End Sub ------------------------------------------------------------------ 画面には上からTextBox1・TextBox2、その下に並んで実行ボタン・キャンセルボタン・変更ボタンがあり、TabIndexは上から順に0〜4を設定しています。 しかし、TextBox1に文字を入力してEnterKeyを押すと、TextBox2へ移らずに変更ボタンに移るんです。。そして、TextBox2でEnterすると上のBox1へ戻ってしまうんです。 なぜだかはわからなかったので、仕方なく Me.SelectNextControl(sender, False, True, True, True) これの代わりに Me.TextBox2.Select このようにしました。 以上です。 | ||||
|
投稿日時: 2003-07-01 13:05
> Me.SelectNextControl(sender, False, True, True, True)
移動方向が後方になっているのが原因だと思います。 Me.SelectNextControl(sender, True, True, True, True) でどうでしょうか? # C#で試したところOKでした。 | ||||
|
投稿日時: 2003-07-01 14:15
>移動方向が後方になっている
ほんとだ、これだとできました! 後方というと、下にさがるのかと思っていました。 意味を取り違えていました。ご指摘ありがとうございます。 [ メッセージ編集済み 編集者: りん 編集日時 2003-07-01 14:16 ] | ||||
|
投稿日時: 2003-07-02 11:19
できました!!
ありがとうございました!! | ||||
|
投稿日時: 2004-04-14 19:06
C#でmyCtrlはUserControlを継承したユーザーコントロールのコントロールの場合、
前方に移動できますが、後方に移動できない。解決の方法は誰かがご存知でしょうか? 教えていただきませんか? this.SelectNextControl(myCtrl, false, true, true, true); |
1