入力フィールドでキーを押したら、次のフィールドにフォーカスを移動させたいのですが、うまくいきません。初心者で申し訳ないのですが、教えてください。以下のように作成したのですが・・・・
よろしくお願いします。
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Me.SelectNextControl(sender, True, True, True, True)
End Sub
こんにちは じゃんぬねっと です。
まずは、VB.NET であることを明記した方が良いでしょう。
> Me.SelectNextControl(sender, True, True, True, True)
sender じゃなくて、Me.ActiveControl にしてください。
sender を見てみると判りますが、Form1 が入ってくると思うのですが? (^-^;)
じゃんぬねっと です。
ちょっと余計な世話になってしまいますが、
この状態だと、Option Strict On にしておりませんよね?
つまり、暗黙の型変換をしているので大変危険です。
sender 引数は、System.Object 型
SelectNextControl() メソッド の第1引数は System.Windows.Forms.Control 型
Option Strict は On にしておいてくださいね。
じゃんぬねっとさん 大変ありがとうございました。
うまくいきました。
又、option strict も ON にしました。
何分初心者も初心者なので、全体のイメージがつかめません。
入力プログラムのサンプルが見つかればイメージがつかめると思うのですが、載っているサイトをご存じないですか?
おはようございます じゃんぬねっと です。
通常は、Google などで随時検索したり、MSDN などを参照することをお勧めします。
VB.NET ならば、どぼん! さんのサイトをお勧めします。
こちらの、.NET TIPS で調べると応用の幅は広がるかと思います。
http://dobon.net/vb/dotnet/index.html
ツイート | ![]() |