vb.net tabpage使用用于选项卡面板问题的表单

vb.net tabpage使用用于选项卡面板问题的表单,vb.net,Vb.net,我有一个简单的vb.net表单,一个tabpanel条,然后是一个单独的表单,为tabpage加载 以下是动态创建新选项卡的按钮的代码: Dim tempTab As New TabPage initTab(tempTab) xt.TabPages.Add(tempTab) xt.SelectedIndex = xt.TabCount - 1 以下是initTab的代码: Dim tmpTab As New MainTab tmpTab.Dock

我有一个简单的vb.net表单,一个tabpanel条,然后是一个单独的表单,为tabpage加载

以下是动态创建新选项卡的按钮的代码:

    Dim tempTab As New TabPage
    initTab(tempTab)
    xt.TabPages.Add(tempTab)
    xt.SelectedIndex = xt.TabCount - 1
以下是initTab的代码:

    Dim tmpTab As New MainTab
    tmpTab.Dock = DockStyle.Fill
    tmpTab.Panel1.Dock = DockStyle.Fill
    tab.Controls.Add(tmpTab)
    tab.Text = "Untitled"
    tab.Name = " "
我可以通过输入以下内容轻松设置任何选项卡的焦点,例如将焦点设置为最后一个选项卡:

xt.SelectedIndex = xt.TabCount - 1
现在的问题是,在我的示例MainTab中,如何将焦点设置为自定义表单上的文本框?我几乎尝试了所有我能用谷歌搜索到的东西,但我似乎找不到任何关于如何设置焦点的例子,甚至无法从MainTab表单中设置/获取任何内容


有人能帮我吗?

呃,将表单转换为儿童控件需要一些手术。您必须将其TopLevel属性设置为false,隐藏边框,使其可见。我在代码片段中没有看到它,MainTab实际上是一个表单吗

无论如何,在控件可见之前,不能对其使用Focus方法。很可能它在代码片段中还不可见。改用Select方法。说:

 tmpTab.TextBox1.Select()

或者只需在设计器中将第一个应获得焦点的控件的TabIndex属性设置为0。

xt.Controlsxt.SelectedIndex.ControlsTEXTBOXNAME.focus


只需确保您设置了要聚焦的文本框的Name属性。在本例中,如果您这样做,则名称将为TEXTBOXNAME。

select属性修复了问题,您是对的,控件不可见