0

これは私を困惑させています。TextBox、2つのRadioButton、OKボタンとキャンセルボタンを備えたWindowsフォームがあります。Tabbingをいじくり回していましたが、削除したので、TextBox1はTabIndex = 1&TabStop = Trueに設定され、他のすべてのフィールドはTabIndex = 0&TabStop=Falseに設定されます。

このフォームにアクセスするには、次のコードを実行します。

    Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ChooseLeague.SelectedIndexChanged
    If ChooseLeague.SelectedIndex = 0 Then
        Me.Hide()
        MaintainDatabaseAddLeague.RadioButton1.Checked = False
        MaintainDatabaseAddLeague.RadioButton2.Checked = False
        MaintainDatabaseAddLeague.TextBox1.Text = ""
        MaintainDatabaseAddLeague.TextBox1.Focus()
        MaintainDatabaseAddLeague.Show()
    End If
End Sub

フォームが開き、必要に応じてテキストボックス内でカーソルが点滅します。ただし、フォームからキャンセルしてから同じ方法でフォームに戻ると、カーソルはテキストボックスになく、キャンセルボタンが強調表示されます/フォーカスがあります。

なぜこれなのか、アイデアは?!?

4

1 に答える 1

3

フォームを非表示にして表示しているので、最後にフォーカスされたコントロールが表示されています。フォーカス呼び出しは、フォームが表示れるまで機能しません。

切り替えて、Selectメソッドを使用してみてください。

MaintainDatabaseAddLeague.Show()
MaintainDatabaseAddLeague.TextBox1.Select()
于 2012-07-18T14:53:13.517 に答える