電子書籍の厳選無料作品が豊富!

こんにちは。
いつもお世話になっております。

タイトルの通りのことで悩んでいます。

自作のPGで下記の処理を行っています。

①Form1でForm2のインスタンスを作成する。
②Form1をHideで非表示にする。
③①のインスタンスをShowDialogで起動。
④Form2を閉じて帰ってきた値がCancelならForm1をCloseする。→ここで終了
⑤Form2を閉じて帰ってきた値がOKなら、Form1をshowで再表示する。
⑥From1のtextbox1にカーソルをセットする。

①~⑤まではうまくいくのですが、⑥のカーソルのセットがうまくいきません。

「Me.show」の後に「Me.Activate()」などでForm1をアクティブにしてから
フォーカスをセットしてもダメでした。

フォーカスのセットは、「ActiveControl=textbox1」でも「textbox1.forcus」でもダメです。

呼出元のForm1の指定コントロールにカーソルをセットする方法は
何かないでしょうか。

調べようにも、あまり当該内容がヒットせず見つかりません。

ご存知の方がいましたら、宜しくお願い致します。

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (3件)

Fotm1から制御が離れた際にカーソルがどこになったかがまあずあるはずです。


Form1に制御が戻った際はその位置にカーソルがあるはずなので。
で、Form1を最初に表示した際、

textBox1.SelectionStart = 0;

とかしておくとどうですかね?
Form1に制御が戻ったところでやってもよいのかもしれませんが。
VBは自分で直接いじった経験があまりないので見当違いでしたらすみません。

参考まで。
    • good
    • 0

なりますよ。


何か余計なコードが悪さしてるんじゃないですか?

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Hide()

Dim form = New Form2()
If form.ShowDialog() = DialogResult.OK Then
Show()
TextBox1.Focus()
Else
Close()
End If
End Sub
    • good
    • 0

From1.setfocusしてからテキストボックスにフォーカス当てたら?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!