- - PR -
EnterKeyでのカーソル移動
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-06-19 11:15
V.BのWindowsフォームでEnterKeyを押下した時に
次のTabIndexにカーソルを移動する方法を教えて ください。 例えばフォームにTextBoxが2つあってEnterKeyを押下すると TextBox1からTextBox2にカーソル移動するやり方です。 V.B 6.0はKeyNextとかいうプロパティがあったと思うんですが…。 同じことです。 | ||||
|
投稿日時: 2003-06-19 12:33
私の場合は以下のようにしています。
テキストボックスのKeyDownのイベントに以下のハンドラを割り当てる。 VB.NETだとこんな感じかな?
とりあえずこの方法を思いついたのですが、もっとスマートなやり方があるかも知れません。 他の方法をご存知の方がいらっしゃったらご教授ください。 | ||||
|
投稿日時: 2003-06-19 16:08
できました。
ありがとうございます。 | ||||
|
投稿日時: 2003-07-09 17:46
こんにちわ
C#で実現しようとして、KeyDownイベントに下記のように記述したのですが、 うまくいきません。(false が返ってきます。) 移動先のコントロール名を明示的に指定するとうまくいきます。 ただし、移動先のコントロールのcanfocus プロパティを見てみると、 falseになっています。 何が悪いのでしょうか? (当初 SelectNextControlメソッドの一番目の引数は sender と記述していたのですが、それだとコンパイルエラーになりました) if (e.KeyValue == 13) { this.ActiveControl.SelectNextControl(this.ActiveControl,true,true,true,true); } | ||||
|
投稿日時: 2003-07-10 16:32
> this.ActiveControl.SelectNextControl(this.ActiveControl,true,true,true,true);
キャストすればOKだと思います。 (出先なので確認できませんが...(Control)だったかな。) 念のために、isで型をチェックしてからキャストしてみてください。 | ||||
|
投稿日時: 2003-07-10 16:35
キャストいらなかったみたい...。
こちらは参考になりませんか? http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5118&forum=7&6 | ||||
|
投稿日時: 2003-07-12 11:41
出来ました!
>this.ActiveControl.SelectNextControl これが悪かったみたいです this.SelectNextControl(this.ActiveControl,true,true,true,true); でうまくいきました。 ななさん、ありがとうございました。 |
1