Vb.net如何用程序选择选项卡控件中的最后一个选项卡



我正在制作一个Web浏览器,它有一个TabControl,我可以运行一切,但当我单击"新建选项卡"按钮时,它会创建一个带有Web浏览器的新选项卡,但我必须手动选择该新选项卡才能更改地址。我想要它,这样当我点击新标签时,它会自动将我重定向到新标签,而不是我所在的当前标签;选择的索引";但这似乎不是更改所选选项卡的最佳方式。

在摘要中单击"新建"选项卡时…

  1. 在选项卡控件的末尾创建一个新选项卡,url设置为about:black
  2. 不会将所选选项卡更改为";新创建的选项卡"

这是新标签按钮的代码

Private Sub btn_NewTab_Click(sender As Object, e As EventArgs) Handles btn_NewTab.Click
    AddTab("about:blank", TabControl1) 
End Sub

AddTab子代码位于下方

Public Sub AddTab(ByRef URL As String, ByRef TabControl As TabControl)
    Dim NewBrowser As New CustomBrowser
    Dim NewTab As New TabPage
    NewBrowser.Tag = NewTab
    NewTab.Tag = NewBrowser
    TabControl.TabPages.Add(NewTab)
    NewTab.Controls.Add(NewBrowser)
    NewBrowser.Dock = DockStyle.Fill
    NewBrowser.Navigate(URL)
End Sub

如果你需要查看更多的代码,那么他就是网络浏览器后面所有代码的链接全代码

更新:我已经尝试添加

TabControl.SelectedIndex=TabControl.TabPages.Count-1

到AddTab子,我得到一个突出显示的错误

私有子选项卡Control1_SelectedIndexChanged(发送方为对象,e为EventArgs)处理选项卡Control1.SelectedIndexChangedDim WB As CustomBrowser=Me.TabControl1.SelectedTab.TagMe.cbURL.Text=WB.Url.ToString

End Sub

我现在不知道TabControl.SelectedIndex=TabControl.TabPages.Count-1出了什么问题,但您也可以使用TabControl.SelectTab:

Public Sub AddTab(ByRef URL As String, ByRef TabControl As TabControl)
    Dim NewBrowser As New CustomBrowser
    Dim NewTab As New TabPage
    NewBrowser.Tag = NewTab
    NewTab.Tag = NewBrowser
    TabControl.TabPages.Add(NewTab)
    NewTab.Controls.Add(NewBrowser)
    NewBrowser.Dock = DockStyle.Fill
    NewBrowser.Navigate(URL)
    TabControl.SelectTab(NewTab)
End Sub

您可以使用TabControl.SelectTab方法并将所选选项卡设置为所需的任何选项卡。更多详细信息请点击此处:http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.selectedtab(v=vs.110).aspx

        Dim i As Integer
        i = yourForm.TabControl.TabPages.Count
        yourForm.TabControl.SelectedIndex = i - 1

我使用

Private Sub Add_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Add.Click Dim t As New TabPage Dim newtab As New tab_layout newtab.Show() newtab.AxWebBrowser1.RegisterAsBrowser = True newtab.Visible = True newtab.TopLevel = False newtab.Dock = DockStyle.Fill t.Controls.Add(newtab) Browser.TabControl1.TabPages.Add(t) Browser.TabControl1.SelectedTab = t End Sub

Private Sub tab_layout_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load AxWebBrowser1.Navigate(My.Settings.Home) End Sub

对于你有的问题

也许这会帮助你

问题指出,使用SelectedIndex不起作用,到目前为止,大多数答案都建议使用SelectTab(nawtabpage)为刚刚创建的TabPage按名称选择TabPage。但是,当您需要从Form1(TabControl在Form1上)中的任何位置选择已经存在的TabPage时,您可以使用以下命令:

   TabControl1.TabPages(0).Select()

其中CCD_ 6是TabControl1中的TabPage 0。如果TabControl1中有4个TabPages,那么它们的索引是0,1,2,3,所以选择控件中的最后一个选项卡(就像问题所问的那样)只是主题的变体,即:

   TabControl1.TabPages(3).Select()

最新更新