以前、VB2017に替えた頃だったでしょうか、インテリセンスでFocusが表示されなくなり、「Focus は、主にカスタム コントロールの作成者が使用するための下位メソッドです。代わりに、アプリケーションプログラマは、子コントロールには Select メソッドまたは ActiveControl プロパティ、フォームには Activate メソッドを使用する必要があります。」ということで古いプログラムのFocus部分をSelectに替えたところ思うように動かなくなりました。原因を探ろうと、次のコードで再現できました。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Button1.Enabled = True
Button2.Enabled = False
Button3.Enabled = False
TextBox1.Enabled = False
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Button1.Enabled = False
Button2.Enabled = True
AcceptButton = Button2
TextBox1.Enabled = True
TextBox1.Select()
End Sub
AcceptButtonが絡んでいますが、この場合TextBox1にフォーカスはあたりません。
しかし、SelectをFocusにするとTextBox1にフォーカスがあたります。何故なのでしょう。宜しくお願いします。