Tabs

  • VB.NET

Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von Campi1995.

    Hallo Leute,

    ich weiß, ihr denkt jetzt "Nicht der nächste Tab Thread" . Aber ich habe schon alles durchgesucht und nichts gefunden.

    Ich habe mir einen Browser programmiert, welcher auch läuft.

    Nur ich möchte noch Tabs (wie in Firefox) hinzufügen. Ich hab leider keine Ahnung wie das geht, wäre klasse wenn mir einer helfen kann :) .

    MfG Campi1995 :thumbup:
    TabControl benutzen, und dann dynamisch Tabs hinzufügen.

    Alâ:

    VB.NET-Quellcode

    1. Dim tp as new TabPage
    2. tp.Text = "Blank"
    3. Dim NB as new Webbrowser
    4. NB.Dockstyle = Dock.Fill ' hier bin ich mir nicht sicher, musst du nochmal schauen.
    5. tp.Controls.Add(NB)
    6. TabControl1.Tabpages.Add(tp)




    Grüße
    Ja genau

    EDIT: Ich habe jetzt die Zeile wo Du Dir unsicher warst in "NB.Dock = DockStyle.Fill" geändert, sodass nichts mehr unterkringelt ist. Leider passiert nichts, wenn ich den Browser debugge.

    Bin jetzt im Bett. Aber vllt bringt es ja was, wenn ich euch den Code hinschreibe

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. WebBrowser1.Navigate(ComboBox1.Text)
    4. End Sub
    5. Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    6. End Sub
    7. Private Sub Combobox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyDown
    8. If e.KeyData = Keys.Enter Then
    9. Button1.PerformClick()
    10. e.SuppressKeyPress = True
    11. End If
    12. End Sub
    13. Private Sub WebBrowser1_Navigated(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated
    14. Dim Tx As String = WebBrowser1.Url.ToString
    15. ComboBox1.Text = Tx
    16. Dim index As Integer
    17. index = ComboBox1.FindString(Tx)
    18. If index > -1 Then
    19. Else
    20. ComboBox1.Items.Add(Tx)
    21. End If
    22. Me.Cursor = Cursors.Arrow
    23. End Sub
    24. Dim inNewWindow As Boolean = False
    25. Private Sub WebBrowser1_Navigating(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles WebBrowser1.Navigating
    26. ComboBox1.Text = WebBrowser1.Url.ToString
    27. ProgressBar1.Visible = True
    28. With ProgressBar1
    29. .Minimum = 0
    30. .Maximum = 50
    31. .Step = 5
    32. End With
    33. For index As Integer = 0 To 50 Step 5
    34. ProgressBar1.Value = index
    35. System.Threading.Thread.Sleep(35)
    36. Next
    37. End Sub
    38. Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
    39. My.Settings.Bookmarks.Add(ComboBox1.Text)
    40. Favs.DropDownItems.Add(ComboBox1.Text)
    41. My.Settings.Save()
    42. Timer1.Enabled = True
    43. End Sub
    44. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load
    45. For Each item As String In My.Settings.Bookmarks
    46. Favs.DropDownItems.Add(item)
    47. Next
    48. Me.WindowState = FormWindowState.Maximized
    49. WebBrowser1.Navigate("www.alice.aol.de")
    50. End Sub
    51. Private Sub Favs_DropDownItemsClickes(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles Favs.DropDownItemClicked
    52. Dim clicked As ToolStripItem = e.ClickedItem
    53. Dim i As String = e.ClickedItem.Name
    54. If Not i = "[Lesezeichen]" Then
    55. WebBrowser1.Navigate(e.ClickedItem.Text, inNewWindow)
    56. End If
    57. End Sub
    58. Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    59. ProgressBar1.Visible = False
    60. End Sub
    61. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    62. WebBrowser1.GoBack()
    63. End Sub
    64. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    65. WebBrowser1.GoForward()
    66. End Sub
    67. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    68. WebBrowser1.Navigate("www.alice.aol.de")
    69. End Sub
    70. Private Sub WebBrowser1_NewWindow(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
    71. Dim neueurl As String = WebBrowser1.StatusText
    72. e.Cancel = True
    73. WebBrowser1.Navigate(neueurl)
    74. Dim tp As New TabPage
    75. tp.Text = "Blank"
    76. Dim NB As New WebBrowser
    77. NB.Dock = DockStyle.Fill ' hier bin ich mir nicht sicher, musst du nochmal schauen.
    78. tp.Controls.Add(NB)
    79. TabControl1.TabPages.Add(tp)
    80. End Sub
    81. End Class

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Campi1995“ ()

    VB.NET-Quellcode

    1. Dim tp as new TabPage
    2. tp.Text = "Blank"
    3. Dim NB as new Webbrowser
    4. NB.Dockstyle = Dockstyle.Fill ' hier bin ich mir nicht sicher, musst du nochmal schauen.
    5. NB.Navigate("url")
    6. tp.Controls.Add(NB)
    7. TabControl1.Tabpages.Add(tp)




    Grüße
    So danke. Ich hab nur noch ein paar Kleinigkeiten, und zwar,
    1. Wenn ich oben in der combobox was eingebe, erscheint dies nicht. Er kommt immer nur Google
    2. Wie bekomme ich es hin, dass anstatt "blank" die Seite da steht (z.B. für den Thread hier: "`[VB 2008] Tabs - Hauptforum - ........") ?
    3. Wie schließt man die Tabs wieder?

    MfG Campi1995 :thumbup:

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Campi1995“ ()

    Okay, habs anders hin bekommen. Jetzt hab ich nur noch ein Problem. Und zwar z.B. auf alice.aol.de wenn man eine der unten stehenden Nachrichten öffnet, öffnet sich der IE.

    Wie bekomme ich es hin, dass sich das Fenster in einem neuen Tab öffnet? Und das in der Combobox die neue URL steht, wenn ich auf etwas klicke?

    Ich hab diesen Quellcode benutzt

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    3. Dim sTabpage As New TabPage
    4. Dim sBrowser As New WebBrowser
    5. sBrowser.Dock = DockStyle.Fill
    6. sTabpage.Text = "Ein neuer Tab wurde geöffnet ... "
    7. AddHandler sBrowser.ProgressChanged, AddressOf Progresschanged
    8. AddHandler sBrowser.DocumentCompleted, AddressOf completed
    9. sTabpage.Controls.Add(sBrowser)
    10. TabControl1.TabPages.Add(sTabpage)
    11. End Sub
    12. Private Sub Progresschanged(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs)
    13. ProgressBar1.Value = e.CurrentProgress
    14. End Sub
    15. Private Sub completed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)
    16. TabControl1.SelectedTab.Text = e.Url.ToString
    17. End Sub
    18. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    19. Dim sBrowser As WebBrowser = TabControl1.SelectedTab.Controls(0)
    20. sBrowser.Navigate(ComboBox1.Text)
    21. End Sub
    22. Private Sub ComboBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyDown
    23. If e.KeyData = Keys.Enter Then
    24. Button1.PerformClick()
    25. e.SuppressKeyPress = True
    26. End If
    27. End Sub
    28. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    29. Dim sTabpage As New TabPage
    30. Dim sBrowser As New WebBrowser
    31. sBrowser.Dock = DockStyle.Fill
    32. sTabpage.Text = "Alice"
    33. sTabpage.Controls.Add(sBrowser)
    34. TabControl1.TabPages.Add(sTabpage)
    35. sBrowser.Navigate("www.alice.aol.de")
    36. End Sub
    37. End Class

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Campi1995“ ()

    Sorry, es klappt einfach nicht.

    Kannst Du mir das alles, was ich brauche, in meinen Code einfügen? Dann haste Ruhe vor mir. Es soll ein Geschenk werden, was ich übermorgen brauche und langsam mehr oder weniger auch meine Nerven versagen.

    Nochmal:
    1. Wie bekomme ich es hin, dass sich das Fenster in einem neuen Tab öffnet?
    2. Und das in der Combobox die neue komplette URL steht, wenn ich auf etwas klicke?

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    3. Dim sTabpage As New TabPage
    4. Dim sBrowser As New WebBrowser
    5. sBrowser.Dock = DockStyle.Fill
    6. sTabpage.Text = "Ein neuer Tab wurde geöffnet ... "
    7. AddHandler sBrowser.ProgressChanged, AddressOf Progresschanged
    8. AddHandler sBrowser.DocumentCompleted, AddressOf completed
    9. sTabpage.Controls.Add(sBrowser)
    10. TabControl1.TabPages.Add(sTabpage)
    11. End Sub
    12. Private Sub Progresschanged(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs)
    13. ProgressBar1.Value = e.CurrentProgress
    14. End Sub
    15. Private Sub completed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)
    16. TabControl1.SelectedTab.Text = e.Url.ToString
    17. End Sub
    18. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    19. Dim sBrowser As WebBrowser = TabControl1.SelectedTab.Controls(0)
    20. sBrowser.Navigate(ComboBox1.Text)
    21. End Sub
    22. Private Sub ComboBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyDown
    23. If e.KeyData = Keys.Enter Then
    24. Button1.PerformClick()
    25. e.SuppressKeyPress = True
    26. End If
    27. End Sub
    28. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    29. Dim sTabpage As New TabPage
    30. Dim sBrowser As New WebBrowser
    31. sBrowser.Dock = DockStyle.Fill
    32. sTabpage.Text = "Alice"
    33. sTabpage.Controls.Add(sBrowser)
    34. TabControl1.TabPages.Add(sTabpage)
    35. sBrowser.Navigate("www.alice.aol.de")
    36. End Sub
    37. End Class

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Campi1995“ ()

    Also;

    Generier ein NewWindow Event vom Webbrowser. Dort schreibst du e.Cancel = true rein, damit wird unterbunden, das der IE den Tab öffnet. Nun nimmst du die Url aus dem StatusText und öffnest diese in einen neuen Tab, der Code dafür steht ja oben. Das Event kannst du mit AddHandler hinzufügen.



    Grüße