我正在制作一个Web浏览器,它有一个TabControl,我可以运行一切,但当我单击"新建选项卡"按钮时,它会创建一个带有Web浏览器的新选项卡,但我必须手动选择该新选项卡才能更改地址。我想要它,这样当我点击新标签时,它会自动将我重定向到新标签,而不是我所在的当前标签;选择的索引";但这似乎不是更改所选选项卡的最佳方式。
在摘要中单击"新建"选项卡时…
- 在选项卡控件的末尾创建一个新选项卡,url设置为about:black
- 不会将所选选项卡更改为";新创建的选项卡"
这是新标签按钮的代码
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()