-1

TabControl を持つ Web ブラウザーを作成していますが、すべてが機能しますが、[新しいタブ ボタン] をクリックすると、Web ブラウザーを含む新しいタブが作成されますが、その新しいタブを手動で選択してアドレスを変更する必要があります。新しいタブをクリックすると、現在のタブではなく新しいタブに自動的にリダイレクトされるようにします。「SelectedIndex」を見てきましたが、選択したタブを変更する最良の方法ではないようです。

要約すると、新しいタブをクリックすると...

  1. URL を about:blank に設定して、タブ コントロールの END に新しいタブを作成します。
  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

さらに多くのコードを見る必要がある場合は、Web ブラウザの背後にあるすべてのコードへのリンクです。 フル コード

更新:追加しようとしました

TabControl.SelectedIndex = TabControl.TabPages.Count - 1

AddTab サブに移動すると、強調表示されるエラーが表示されます

Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged Dim WB As CustomBrowser = Me.TabControl1.SelectedTab.Tag Me.cbURL.Text = WB.Url.ToString

End Sub
4

5 に答える 5

1

の何が問題だったのかわかりません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
于 2014-10-06T08:09:39.673 に答える
0

メソッドを使用してTabControl.SelectTab、選択したタブを任意のタブに設定できます。詳細はこちら: http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.selectedtab(v=vs.110).aspx

于 2014-10-06T08:11:09.110 に答える