Problem mit listbox

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Problem mit listbox

    Hi,
    ich habe eine listbox erstellt, dort kann man links eingeben.
    man hat einen button, und immer wen dieser geklickt wird sollte der webbrowser zum nächsten link navigieren.
    z.b.
    button klick 1-> webbbrowser navigiert zum ersten item in der listbox
    button performklick 2-> webbbrowser navigiert zum zweiten item in der listbox
    button performklick 3-> webbbrowser navigiert zum dritten item in der listbox
    button performklick 4-> webbbrowser navigiert zum vierten item in der listbox
    button performklick 5-> webbbrowser navigiert zum fünften item in der listbox

    jedoch macht er das nur zwei mal.

    der code, der das mit listbox machen sollte:

    VB.NET-Quellcode

    1. Dim Counter As Integer = 0
    2. ...
    3. Dim webClient As New System.Net.WebClient
    4. If Not Counter = ListBox1.Items.Count Then
    5. WebBrowser1.Navigate(ListBox1.Items.Item(Counter))
    6. Counter = Counter + 1
    7. End If
    Ich würde die Navigate-Methode des WebBrowsers im SelectedIndexChanged-Event von ListBox ausführen und beim Button-Klick nur den SelectedIndex von ListBox ändern. Beispiel:

    VB.NET-Quellcode

    1. Private Sub GoButton_Click(sender As Object, e As EventArgs) Handles GoButton.Click
    2. With Me.LinkListBox
    3. If Not .Items.Count > 0 Then Return
    4. If .SelectedIndex < .Items.Count - 1 Then
    5. .SelectedIndex += 1
    6. Else
    7. .SelectedIndex = 0
    8. End If
    9. End With
    10. End Sub
    11. Private Sub LinkListBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles LinkListBox.SelectedIndexChanged
    12. With DirectCast(sender, ListBox)
    13. If .SelectedItem IsNot Nothing Then
    14. Me.DisplayWebBrowser.Navigate(.SelectedItem.ToString)
    15. End If
    16. End With
    17. End Sub
    Lerne zu debuggen: Setze Haltepunkte und schau Dir deine Objekte an. Dann kannst Du darauf schließen, was das Problem ist.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    @Trade Jou. Die Formulierung kommt mir seeeeeeeeeeeeehr bekannt vor. ;)
    @Christian Du musst jede einzelne Zeile Deines Programms daraufhin überprüfen, ob sie das tut, was sie tun soll. Tut sie es nicht, hast Du einen Fehler gefunden.
    Dazu musst Du natürlich wissen, welchen Inhalt Variablen haben sollen und wie Du herausbekommst, welchen sie tatsächlich haben. Dazu bietet das Studio ein mächtiges Instrumentarium.
    Gugst Du hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!