Listbox Items lassen sich nicht in Webbrowser eintragen

  • VB.NET

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

    Listbox Items lassen sich nicht in Webbrowser eintragen

    Hallo,

    ich habe vor das ich mit Hilfe eines Buttons das bereits ausgewählte Item in meiner Listbox, in die Suchzeile von Google mit meinem VB-Webbrowser eintrage
    Leider gestaltet sich dies nicht so wie ich möchte, wenn ich eine .txt datei in meine Listbox importiere mit folgendem Code:

    VB.NET-Quellcode

    1. OpenFileDialog1.ShowDialog()
    2. TextBox1.Text = OpenFileDialog1.FileName
    3. If InStr(TextBox1.Text, ".txt") Then
    4. streamreader = IO.File.OpenText(TextBox1.Text)
    5. Dim derstring() As String = streamreader.ReadToEnd.Split(vbNewLine)
    6. ListBox1.Items.AddRange(derstring)
    7. Else
    8. MsgBox("Bitte füge eine .txt ein!", MsgBoxStyle.Information, "Tool")
    9. TextBox1.Clear()
    10. End If​


    Funktioniert das auch gut, aber wenn ich dann mit hilfe eines anderen Buttons das selektierte Item mit folgendem Code in die Google Such Zeile meines VB-Webbrowsers hinzufügen möchte:

    VB.NET-Quellcode

    1. WebBrowser1.Navigate("http://google.de")
    2. WebBrowser1.Document.GetElementById("lst-ib").InnerText = (ListBox1.SelectedItem)​


    Lässt sich NUR das erste Item eintragen, wenn ich das Zweite (oder mehr) Item auswähle und in die Google Adress Zeile einfügen möchte passiert garnichts.
    Kann mir jemand Helfen? :)

    Hier ein Video zur verdeutlichung:

    Liebe Grüße Sebastian ! :)
    Es wundertbmich das es überhaupt funktioniert. SelectedItem ist vom Typ Object, InnerText dürfte wie der Name vermuten lässt vom Typ String sein. Bist du sicher das die Seite bereits vollständig geladen ist, wenn du versuchst den neuen Suchbegriff in die Google -Textbox einzutragen.
    Die Seite ist fertig geladen, habe extra sogar mal 5min gewartet und es dann wieder probiert leider ohne erfolg, habe auch schon überlegt mit nem Timer das Selektierte Item in einer normalen TextBox zwischenzuspeichern und dann den InnerText über die TextBox zu machen, hat leider auch nicht funktioniert was mich wundert.
    läuft

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. WebBrowser1.Navigate("http://google.de")
    3. End Sub
    4. Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    5. WebBrowser1.Document.GetElementById("lst-ib").InnerText = (ListBox1.SelectedItem.ToString)
    6. End Sub
    Bilder
    • Screenshot (55).png

      21,48 kB, 890×560, 78 mal angesehen
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Wenn die Daten in die ListBox erfolgreich komplett importiert wurden, ist es wurscht, woher sie kamen. Wann wird denn der Import ausgeführt? Im gleichen Atemzug wie der Aufruf von Google? Oder vorher, unabhängig vom WebBrowser-Navigate-Befehl?

    Hmok, hab das Video gesehen. Ich schau mal weiter. Vielleicht find ich noch was. Aber: Probier mal, ob es ohne den Import, sondern mit vorgefertigten LB-Items geht.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hab eine Methode gefunden, es lag wirklich am Import. Hier der Code der jetzt funktioniert um die Textfile in die Listbox zu importieren. Jetzt funktioniert auch InnerText Perfekt.

    VB.NET-Quellcode

    1. OpenFileDialog1.ShowDialog()
    2. TextBox1.Text = OpenFileDialog1.FileName
    3. If InStr(TextBox1.Text, ".txt") Then
    4. streamreader = New IO.StreamReader(TextBox1.Text)
    5. While (streamreader.Peek() > -1)
    6. ListBox1.Items.Add(streamreader.ReadLine)
    7. End While
    8. streamreader.Close()
    9. Else
    10. MsgBox("ERROR", MsgBoxStyle.Information, "Tool")
    11. TextBox1.Clear()
    12. End If

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

    @Basteey02 Mach doch nen Einzeiler draus:

    VB.NET-Quellcode

    1. ListBox1.Items.AddRange(IO.File.ReadAllLines(TextBox1.Text))
    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!