• ベストアンサー

focusメソッドを使ってもカーソルが点滅しない

フォームをロードし、下記のようにしてもカーソルが点滅しません。その解決方法を教えてください。 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load TextBox1.Focus() End Sub

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちは >下記のようにしてもカーソルが点滅しません。その解決方法を教えてください。 との事でございますが。 早速ですが、 以下の2点の方法を、提案させて頂きます。 +++++++++++++++++ Public Class Form1 '"指定されたウィンドウをキーボードフォーカスを持つウィンドウにする。"API 'http://nienie.com/~masapico/api_SetFocus.html のページより引用 Declare Function SetFocus Lib "user32" (ByVal hWnd As IntPtr) As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '■この方法では失敗する。 'TextBox1.Focus() ''■方法1。TabIndexを最初にする。 'TextBox1.TabIndex = 0 '■方法2。API関数を使用する。 Call SetFocus(TextBox1.Handle) End Sub End Class +++++++++++++++++ 尚、私は、VB2008の環境にて動作確認を行っています。 なので、 他の環境や、私の勘違いで、ご希望の動作が得られなければ、 申し訳ございません。 また、コード中のコメントに示させて頂いたURLのサイト様の情報を引用しておりますので、 あわせてご覧いただけると幸いでございます。 以上 ありがとうございました。

参考URL:
http://nienie.com/~masapico/api_SetFocus.html
nebokken
質問者

お礼

 基本的なことを質問して、お手数をおかけして申し訳ありません。プログラム作成中TextBoxを何個も配置し、削除している間にTabIndexのことをすっかり頭から離れてしまいました。ありがとうございました。  でも、これ何とかしたいですよね。フォームロードの時の制約はかなりありそうですね。愚痴も言ってしまいました。本当にありがとうございました。

関連するQ&A

専門家に質問してみよう