Combobox - Webbrowser Document Title

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Mike.S.

    Combobox - Webbrowser Document Title

    Hallo liebe Community,
    Ich habe vor kurzem einen Webbrowser mit einer Combobox- Favoritenleiste erstellt.
    Nun zu meinem Problem:
    Ich möchte dass die Combobox items nach dem Webbrowser Document Title gespeichert werden ohne dass der Link kaputt geht.
    Ich hab nochmal ein Bild* Hochgeladen damit ihr es besser verstehen könnt.
    Hier der Code für den "Favoriten Hinzufügen" button:

    VB.NET-Quellcode

    1. Private Sub Button18_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
    2. Try
    3. ComboBox1.Items.Add(Label2.Text)
    4. Catch ex As Exception
    5. MsgBox("Konnte nicht hinzugefügt werden.", MsgBoxStyle.Exclamation, "mikessiteBrowser")
    6. End Try
    7. My.Settings.lesezeichen2.Clear()
    8. For i As Integer = 0 To ComboBox1.Items.Count - 1
    9. My.Settings.lesezeichen2.Add(ComboBox1.Items(i))
    10. Next
    11. My.Settings.Save()
    12. End Sub

    Und hier für den Go button:

    VB.NET-Quellcode

    1. WebBrowser1.Navigate(ComboBox1.Text)
    2. ComboBox1.SelectedItem = Nothing

    Danke im Voraus :thumbsup:



    Edit by Manschula: Schriftgröße angepasst, Code-Tag eingefügt

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

    Willkommen im Forum :D

    Am einfachsten wäre, eine Klasse zu schreiben die sowohl den Title als auch die Url beinhaltet, von dieser Klasse führst du eine List(of T), welche du an die ComboBox bindest.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Liste As New List(Of TitleAndUrl)
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Liste.Add(New TitleAndUrl("Google", New Uri("http://www.google.de")))
    5. Liste.Add(New TitleAndUrl("Startseite - Visual-Basic-Forum VB-Paradise.de", New Uri("http://www.vb-paradise.de")))
    6. ComboBox1.DataSource = Liste
    7. ComboBox1.DisplayMember = "Title"
    8. End Sub
    9. Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    10. WebBrowser1.Navigate(Liste(ComboBox1.SelectedIndex).Url)
    11. End Sub
    12. Class TitleAndUrl
    13. Private _title As String
    14. Private _url As Uri
    15. Public Property Title As String
    16. Get
    17. Return _title
    18. End Get
    19. Set(ByVal value As String)
    20. _title = value
    21. End Set
    22. End Property
    23. Public Property Url As Uri
    24. Get
    25. Return _url
    26. End Get
    27. Set(ByVal value As Uri)
    28. _url = value
    29. End Set
    30. End Property
    31. Sub New(ByVal wbTitle As String, ByVal wbUrl As Uri)
    32. Url = wbUrl
    33. Title = wbTitle
    34. End Sub
    35. End Class
    36. End Class

    Mike.S schrieb:

    Geht´s auch ein wenig unkomplizierter?

    bischen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Liste As New List(Of TitleAndUrl)
    3. Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    4. Liste.Add(New TitleAndUrl("Google", New Uri("http://www.google.de")))
    5. Liste.Add(New TitleAndUrl("Startseite - Visual-Basic-Forum VB-Paradise.de", New Uri("http://www.vb-paradise.de")))
    6. ComboBox1.DataSource = Liste
    7. ComboBox1.DisplayMember = "Title"
    8. End Sub
    9. Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ComboBox1.SelectedIndexChanged
    10. WebBrowser1.Navigate(Liste(ComboBox1.SelectedIndex).Url)
    11. End Sub
    12. Class TitleAndUrl
    13. Public Property Title As String
    14. Public Property Url As Uri
    15. Sub New(ByVal wbTitle As String, ByVal wbUrl As Uri)
    16. Url = wbUrl
    17. Title = wbTitle
    18. End Sub
    19. End Class
    20. End Class
    Bei der Combobox und Form1

    Kann man das nicht irgendwie so machen?:

    VB.NET-Quellcode

    1. Try
    2. ComboBox1.Items.Add(Label2.Text & " /" & WebBrowser1.DocumentTitle)
    3. Catch ex As Exception
    4. MsgBox("Konnte nicht hinzugefügt werden.", MsgBoxStyle.Exclamation, "mikessiteBrowser")
    5. End Try
    6. My.Settings.lesezeichen2.Clear()
    7. For i As Integer = 0 To ComboBox1.Items.Count - 1
    8. My.Settings.lesezeichen2.Add(ComboBox1.Items(i))
    9. Next
    10. My.Settings.Save()


    nur halt das " /" und der Document Title als Notiz sozusagen?