如何在 vb.net 中显示另一个表单的特定选项卡

How to display a particular tab from another form in vb.net

我正在 VS 2010 中开发一个具有多种形式的 vb.net 项目。比方说,我有一个带有 Button 的 Form1 和一个带有 TabControl 的 Form2。

当用户单击 form1 中的按钮时,如何显示特定选项卡(例如 tab2 或 tab3)。

要更改 TabControl 的 selected 选项卡,您可以使用选项卡控件的 SelectTab method or SelectedIndex 属性。

默认情况下无法从表单外部访问表单控件。您可以通过将 Modifiers property of control to Public and GenerateMember 属性 设置为 true 来允许访问窗体的控件。

所以转到 Form2 的设计器,select 您的选项卡控件,在属性 window 中,将 GenerateMember 设置为 true 并设置 ModifierPublic。然后您可以从 Form1:

访问您的选项卡控件
Dim f as New Form2()
f.TabControl1.SelectedIndex = 1 'It selects second tab
f.ShowDialog()

备注

一般来说,作为一个好的设计准则,最好不要公开您的表单控件。在这种情况下,最好在 Form2 中创建 属性 或方法,并将其用于 get/set select 从 Form1 编辑 Form2 的选项卡。例如,您可以看到 Munawar 的 .

您可以在带有选项卡控件的表单上创建一个 public 方法

Public void TabSelection( int tabIndex)
{

MyTabControl.SelectedTab =MyTabControl.TabPages[tabIndex];
}

VB.Net代码:

 Public Sub TabSelection(ByVal tabIndex As Integer)
        MyTabControl.SelectedTab = MyTabControl.TabPages(tabIndex)
    End Sub

从其他表单的按钮单击处理程序调用上述方法。