Webbrowser Favoriten Problem

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 68 Antworten in diesem Thema. Der letzte Beitrag () ist von Mete1997.

    Nun hab ich dieses Tutorial gefunden mit diesem Code von hier MSDN

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Me.WebBrowser1.AllowNavigation = True
    3. Me.WebBrowser1.AllowWebBrowserDrop = True
    4. WebBrowser1.Navigate("http://www.delamarepro.com/teega")
    5. ToolStripMenuItem4.Text = "Favorites"
    6. ToolStripMenuItem18.Text = "Add"
    7. ' Load Settings to Favorites menu when opening form
    8. For Each item As String In My.Settings.favList
    9. Dim item1 As New ToolStripMenuItem
    10. item1.Text = item.ToString
    11. ToolStripMenuItem4.DropDownItems.Add(item1)
    12. Next
    13. 'Add Click Event handler for each Favorite link ToolStripMenuItem
    14. For Each C As ToolStripMenuItem In ToolStripMenuItem4.DropDownItems
    15. AddHandler C.Click, AddressOf ToolStripMenuItem_Click
    16. Next
    17. End Sub
    18. 'Add item to Favorites menu and FavList Settings
    19. Private Sub ToolStripMenuItem18_Click(ByVal sender As System.Object,
    20. ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click
    21. Dim item1 As New ToolStripMenuItem
    22. item1.Text = WebBrowser1.Url.ToString
    23. ToolStripMenuItem4.DropDownItems.Add(item1)
    24. My.Settings.favList.Add(WebBrowser1.Url.ToString)
    25. End Sub
    26. 'Open faverite link when selecting link item from Faverite menu
    27. Private Sub ToolStripMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    28. WebBrowser1.Navigate(sender.ToString)
    29. End Sub
    30. 'Save Settings when closing form
    31. Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e
    32. As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
    33. My.Settings.Save()
    34. End Sub


    Ich habe damit keine Fehlermeldung beim kompilieren aber wenn ich ein Favorit hinzufügen möchte kommt diese Meldung
    Object reference not set to an instance of an object. unterstrichen wird das

    VB.NET-Quellcode

    1. For Each item As String In My.Settings.favoriten

    Wie behebe ich diesen Fehler?
    Indem du das nicht aus der MSDN schreibst (weil ich zu 99,9% schätze das der Code dich verwirrt, und du nicht weisst was du damit machen sollst), sondern dich selber daran versuchst. Ich glaube das erste was du tun solltest, ist dir ein Entwicklerbuch zu legen, es lesen, und dann weiter machen. Dann solltest du dir mal die Settings anschauen (msdn.microsoft.com/en-us/library/saa62613.aspx), und vielleicht solltest du dann mal nach dem Fehler googeln (google.de/search?q=vb+Object+r…r&ei=KyCjU4moJ4XiO8WugaAK). Ja es tut mir Leid das ich einen Google-Link gepostet habe, aber ich glaube das musste diesmal sein! Wenn nicht, bitte ich es zu entschuldigen. :)
    Software being "Done" is like lawn being "Mowed". (Jim Benson)
    Den Fehlercode habe ich gegoogelt habe aber nichts brauchbares gefunden bzw. hab den Code der Favoriten ganz auskommentiert.Den Code habe ich verstanden bzw die jeweiligen Schritte nur das ich diesen Fehler bekomme den verstehe ich nicht.
    Ich habe hier einen Fehler

    VB.NET-Quellcode

    1. My.Settings.favorites.Add(CType(TarayıcıSekme.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser).DocumentTitle + "|" + CType(Tabcontrol1.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser).Url.ToString)


    Object reference not set to an instance of an object.

    Das passiert beim Favoriten hinzufügen Button.Hier der Code vom Button

    VB.NET-Quellcode

    1. My.Settings.favorites.Add(CType(Tabcontrol1.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser).DocumentTitle + "|" + CType(Tabcontrol1.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser).Url.ToString)
    2. My.Settings.Save()
    3. Dim item1 As New ToolStripMenuItem
    4. item1.Text = (CType(Tabcontrol1.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser).Url.ToString)
    5. favoritemenustrip.Items.Add(item1)
    6. My.Settings.favorites.Add((CType(Tabcontrol1.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser).Url.ToString))

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

    Das heißt My.... ist nicht instanziert also Nothing.
    Du musst in Form_Load, Konstruktor oder wasweißich deine Favorites instanzieren

    VB.NET-Quellcode

    1. Favorites =new StringCollection​

    mfg
    Compffreak
    ps: Ist übrigens auch absolute Grundlage.
    Ich musste auch einen Import hinzufügen nun mein nächstes Problem ist die FavoritenMenüstripleiste.
    Dort ist ein Eintrag zum testen man kann drauf klicken und wird zu der Seite gebracht aber wenn ich zur Laufzeit Favoriten hinzufüge dort kann man nicht zur Seite navigieren dort kommt eine GeckoFX Meldung das man zur Seite nicht navigieren kann.

    VB.NET-Quellcode

    1. Private Sub ToolStripMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles favoritemenustrip.Click
    2. CType(Tabcontrol1.SelectedTab.Controls.Item(0), Skybound.Gecko.GeckoWebBrowser).Navigate(sender.ToString)
    3. End Sub
    Du hast das Prinzip eben nicht verstanden.
    Sender ist vom Typ Object und kann wirklich alles sein(Integer,String,Button,TextBox...) Deswegen kann Vb nicht wissen was du mit Sender machen willst.
    Also musst du Sender mit DirectCast in ein ToolStripMenuItem konvertieren.
    DirectCast gibt das Resultatobjekt zurück, also ein ToolStripMenuItem .
    Jetzt musst du nur noch wissen wo du die Url gespeichert hast und kannst diese den Webbrowser geben.
    mfg
    Compffreak