如果已在VB.NET中打开,请选择特定的标签页

时间:2010-03-04 20:30:59

标签: vb.net winforms

我创建了一个标签控件和几个表单。单击按钮时,每个表单都会在单独的选项卡中打开

我已经注意了,如果表单已经打开,表单不会再在新标签页中打开。但是我无法将标签集中注意力。

我想在选项卡中选择“从”,如果它已经位于选项卡列表中,则将其置于焦点。

这是我的代码

 //Function to open form in new tab
Private Sub openFormInTab(ByVal sender As Form, ByVal tp As TabPage)
    sender.TopLevel = False ' REQUIRED
    sender.FormBorderStyle = Windows.Forms.FormBorderStyle.None ' optional
    sender.Dock = DockStyle.Fill ' optional
    tp.Name = sender.Name
    tp.Controls.Add(sender)
    sender.Show()
    ProjectTabControl.TabPages.Add(tp)
    Me.ProjectTabControl.SelectedTab = tp
  End Sub

//Function to determine if the form is already open.

Public Function FormOpen(ByRef frmName As String) As Boolean
    For Each page As TabPage In ProjectTabControl.TabPages
      If page.Name = frmName Then
        Return True
      End If
    Next page
    Return False
  End Function

//I need function to bring the form to focus if its already open.

提前致谢。

1 个答案:

答案 0 :(得分:2)

在返回true之前的FormOpen函数中使用以下行:

Me.ProjectTabControl.SelectedTab = page

这不是您在第一个函数中所做的,以使新标签页成为焦点吗?