我有一个TabControl
,有三个标签。
第一个标签有几个控件。 第二个选项卡只有一个控件。 最后一个标签有几个控件。
当标签页发生变化时,如何将焦点设置到标签中的控件?
以下代码对我不起作用:
Private Sub TabControl1_Selected(sender As Object, e As TabControlEventArgs) Handles TabControl1.Selected
If TabControl1.SelectedIndex = 1 Then
TextBox2.Text = "Here"
TextBox2.Focus()
End If
End Sub
答案 0 :(得分:0)
答案 1 :(得分:0)
我认为这可能就是你所追求的:
Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged
If TabControl1.SelectedTab Is TabPage1 Then
TextBox1.Text = "On tab 1"
TextBox1.Focus()
ElseIf TabControl1.SelectedTab Is TabPage2 Then
TextBox2.Text = "On tab 2"
TextBox2.Focus()
End If
End Sub
请注意SelectedIndexChanged
的使用。我还稍微更改了If
以检查选择了哪个标签。
我已使用多个标签和控件对此进行了测试。效果很好。
如果要设置控件的焦点和,请将光标位置设置在控件中文本的末尾,您可以使用:
TextBox1.Select(TextBox1.Text.Length, 0)