vb.net tabpage使用tabpanels问题的表单

时间:2010-07-17 19:37:22

标签: vb.net

我有一个简单的vb.net形式一个tabpanel条带,然后是一个单独的表格,为表格加载。

以下是动态创建新标签的按钮的代码:

    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”)?我已经尝试了几乎所有我可以google的东西,我似乎找不到任何关于如何设置焦点甚至从MainTab表单设置/获取任何内容的示例。

任何人都可以帮助我?

2 个答案:

答案 0 :(得分:0)

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

Anyhoo,你不能在控件上使用Focus()方法,直到它可见。赔率很高,在您的代码段中尚未显示。请改用Select()方法。说:

 tmpTab.TextBox1.Select()

或者只是设置第一个控件的TabIndex属性,该控件应该在设计器中将焦点设置为0.

答案 1 :(得分:0)

xt.Controls(xt.SelectedIndex).Controls( “TEXTBOXNAME”)。聚焦()

如果您这样做,请确保设置您想要拥有焦点的文本框的Name属性(在这种情况下,名称将是TEXTBOXNAME)。