VB.net Web浏览器-添加书签

VB.net Web浏览器-添加书签,vb.net,visual-studio-2010,browser,Vb.net,Visual Studio 2010,Browser,我有一个web浏览器,我正试图将其保持在最低限度,以保持其快速运行(我有firefox gecko浏览器引擎,尽管我认为这与这个问题无关。)但有一件事我想添加,那就是书签。现在我有一大堆乱七八糟的代码,但每次点击书签按钮时,我都无法创建一个新的工具条按钮。我所做的就是添加了适当的设置和6个toolstrip按钮。现在我只能使用6个书签。这真的很糟糕。我的代码在这里: Imports System.IO Public Class tabForm Dim ico As Image = No

我有一个web浏览器,我正试图将其保持在最低限度,以保持其快速运行(我有firefox gecko浏览器引擎,尽管我认为这与这个问题无关。)但有一件事我想添加,那就是书签。现在我有一大堆乱七八糟的代码,但每次点击书签按钮时,我都无法创建一个新的工具条按钮。我所做的就是添加了适当的设置和6个toolstrip按钮。现在我只能使用6个书签。这真的很糟糕。我的代码在这里:

Imports System.IO

Public Class tabForm
    Dim ico As Image = Nothing
    Private Sub goBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles goBack.Click
        webBrowser.GoBack()
    End Sub

Private Sub goForward_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles goForward.Click
    webBrowser.GoForward()
End Sub

Private Sub Navigate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Navigate.Click
    If urlBox.Text = "yt" Then
        webBrowser.Navigate("http://www.youtube.com")
    ElseIf urlBox.Text = "fb" Then
        webBrowser.Navigate("http://www.facebook.com")
    ElseIf urlBox.Text = "gm" Then
        webBrowser.Navigate("http://www.gmail.com")
    ElseIf urlBox.Text = "go" Then
        webBrowser.Navigate("http://www.google.com")
    Else
        webBrowser.Navigate(urlBox.Text)
    End If
End Sub

Private Sub webBrowser_DocumentCompleted(ByVal sender As Object, ByVal e As System.EventArgs) Handles webBrowser.DocumentCompleted
    Me.Text = webBrowser.DocumentTitle
    geticon()
End Sub

Private Sub webBrowser_Navigated(ByVal sender As System.Object, ByVal e As Skybound.Gecko.GeckoNavigatedEventArgs) Handles webBrowser.Navigated
    Try
        urlBox.Text = webBrowser.Url.ToString

    Catch ex As Exception

    End Try
End Sub

Private Sub urlBox_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles urlBox.KeyDown
    Try
        If e.KeyCode = Keys.Enter Then
            If urlBox.Text = "yt" Then
                webBrowser.Navigate("http://www.youtube.com")
            ElseIf urlBox.Text = "fb" Then
                webBrowser.Navigate("http://www.facebook.com")
            ElseIf urlBox.Text = "gm" Then
                webBrowser.Navigate("http://www.gmail.com")
            ElseIf urlBox.Text = "go" Then
                webBrowser.Navigate("http://www.google.com")
            Else
                webBrowser.Navigate(urlBox.Text)
            End If
            e.SuppressKeyPress = True
        End If
    Catch ex As Exception

    End Try
End Sub

Private Sub geticon()
    Try
        Dim url As Uri = New Uri(webBrowser.Url.ToString)

        If url.HostNameType = UriHostNameType.Dns Then

            ' Get the URL of the favicon
            ' url.Host will return such string as www.google.com
            Dim iconURL = "http://" & url.Host & "/favicon.ico"

            ' Download the favicon
            Dim request As System.Net.WebRequest = System.Net.HttpWebRequest.Create(iconURL)
            Dim response As System.Net.HttpWebResponse = request.GetResponse()
            Dim stream As System.IO.Stream = response.GetResponseStream()
            Dim favicon = Image.FromStream(stream)

            ' Display the favicon on ToolStripLabel1
            Me.favicon.Image = favicon
        End If
    Catch ex As Exception
        Me.favicon.Image = Nothing
    End Try
End Sub

Private Sub favicon_timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles favicon_timer.Tick
    Try

    Catch ex As Exception

    End Try
End Sub

Private Sub Reload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Reload.Click
    webBrowser.Reload()
End Sub

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
    webBrowser.Navigate(My.Settings.mark1)
End Sub

Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton6.Click
    webBrowser.Navigate(My.Settings.mark6)
End Sub

Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click
    webBrowser.Navigate(My.Settings.mark5)
End Sub

Private Sub ToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton4.Click
    webBrowser.Navigate(My.Settings.mark4)
End Sub

Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
    webBrowser.Navigate(My.Settings.mark3)
End Sub

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
    webBrowser.Navigate(My.Settings.mark2)
End Sub

Private Sub Fav_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub ToolStripButton7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton7.Click
    If ToolStripButton1.Text = webBrowser.DocumentTitle Then
        ToolStripButton1.Text = ""
        My.Settings.mark1 = ""
        My.Settings.mark11 = ""
        ToolStripButton1.Visible = False
    End If
    If ToolStripButton2.Text = webBrowser.DocumentTitle Then
        ToolStripButton2.Text = ""
        My.Settings.mark2 = ""
        My.Settings.mark22 = ""
        ToolStripButton2.Visible = False
    End If
    If ToolStripButton3.Text = webBrowser.DocumentTitle Then
        ToolStripButton3.Text = ""
        My.Settings.mark3 = ""
        My.Settings.mark33 = ""
        ToolStripButton3.Visible = False
    End If
    If ToolStripButton4.Text = webBrowser.DocumentTitle Then
        ToolStripButton4.Text = ""
        My.Settings.mark4 = ""
        My.Settings.mark44 = ""
        ToolStripButton4.Visible = False
    End If
    If ToolStripButton5.Text = webBrowser.DocumentTitle Then
        ToolStripButton5.Text = ""
        My.Settings.mark5 = ""
        My.Settings.mark55 = ""
        ToolStripButton5.Visible = False
    End If
    If ToolStripButton6.Text = webBrowser.DocumentTitle Then
        ToolStripButton6.Text = ""
        My.Settings.mark6 = ""
        My.Settings.mark66 = ""
        ToolStripButton6.Visible = False
    End If
End Sub

Private Sub ToolStripButton8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton8.Click
    If ToolStripButton1.Text = "" Then
        ToolStripButton1.Text = webBrowser.DocumentTitle
        My.Settings.mark1 = webBrowser.Url.ToString
        My.Settings.mark11 = webBrowser.DocumentTitle
        ToolStripButton1.Visible = True
    ElseIf ToolStripButton2.Text = "" Then
        ToolStripButton2.Text = webBrowser.DocumentTitle
        My.Settings.mark2 = webBrowser.Url.ToString
        My.Settings.mark22 = webBrowser.DocumentTitle
        ToolStripButton2.Visible = True
    ElseIf ToolStripButton3.Text = "" Then
        ToolStripButton3.Text = webBrowser.DocumentTitle
        My.Settings.mark3 = webBrowser.Url.ToString
        My.Settings.mark33 = webBrowser.DocumentTitle
        ToolStripButton3.Visible = True
    ElseIf ToolStripButton4.Text = "" Then
        ToolStripButton4.Text = webBrowser.DocumentTitle
        My.Settings.mark4 = webBrowser.Url.ToString
        My.Settings.mark44 = webBrowser.DocumentTitle
        ToolStripButton4.Visible = True
    ElseIf ToolStripButton5.Text = "" Then
        ToolStripButton5.Text = webBrowser.DocumentTitle
        My.Settings.mark5 = webBrowser.Url.ToString
        My.Settings.mark55 = webBrowser.DocumentTitle
        ToolStripButton5.Visible = True
    ElseIf ToolStripButton6.Text = "" Then
        ToolStripButton6.Text = webBrowser.DocumentTitle
        My.Settings.mark6 = webBrowser.Url.ToString
        My.Settings.mark66 = webBrowser.DocumentTitle
        ToolStripButton6.Visible = True
    Else

    End If
End Sub

Private Sub ToolStripButton9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton9.Click
    Dim newFav As New ToolStripButton
    newFav.Text = webBrowser.Url.ToString
    newFav.PerformClick()
End Sub

Private Sub favClick()

End Sub

Private Sub tabForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If My.Settings.mark1 <> "" And My.Settings.mark11 <> "" Then
        ToolStripButton1.Text = My.Settings.mark11
        ToolStripButton1.Visible = True
    End If
    If My.Settings.mark2 <> "" And My.Settings.mark22 <> "" Then
        ToolStripButton2.Text = My.Settings.mark22
        ToolStripButton2.Visible = True
    End If
    If My.Settings.mark3 <> "" And My.Settings.mark33 <> "" Then
        ToolStripButton3.Text = My.Settings.mark33
        ToolStripButton3.Visible = True
    End If
    If My.Settings.mark4 <> "" And My.Settings.mark44 <> "" Then
        ToolStripButton4.Text = My.Settings.mark44
        ToolStripButton4.Visible = True
    End If
    If My.Settings.mark5 <> "" And My.Settings.mark55 <> "" Then
        ToolStripButton5.Text = My.Settings.mark55
        ToolStripButton5.Visible = True
    End If
    If My.Settings.mark6 <> "" And My.Settings.mark66 <> "" Then
        ToolStripButton6.Text = My.Settings.mark66
        ToolStripButton6.Visible = True
    End If
  End Sub
End Class
但如果我真的让它工作了,我会用什么让它导航到那个页面呢?请帮忙

我终于找到了答案。如果有人想知道链接在哪里:


祝您度过愉快的一天。

创建一个名为favorite的类和一个名为favorites的设置,类型为system.collections.specialized.stringcollection

public class favorite
    inherits toolstripsplitbutton
    public mytitle as string
    public myurl as string
    public myimg as image
    public mybrowser as webbrowser

    public sub new(title as string, url as string, browser as webbrowser)
        mybase.new()

        mytitle = title
        myurl = url
        'create a getfavicon function - Google :)
        myimg = GetFavicon(myurl)
        mybrowser = browser
        me.text = mytitle
        me.tooltiptext = mytitle + " : " + myurl
        me.image = myimg
    end sub

    private sub Favorite_Click(sender as object, e as eventargs) handles me.click
        browser.navigate(myurl)
    end sub
然后在表单代码中添加一个子元素

public sub AddFav() handles '>>the add favorite button<<.click
    my.settings.favorites.add(webbrowser.documenttitle + "|" + webbrowser.url.tostring)
    my.settings.save()
end sub

public sub RefreshFavs()
    for each fav as string in my.settings.favorites
        dim favarray as array = fav.split(new char() {"|"c})
        dim x as new favorite(favarray(0), favarray(favarray.count - 1, webbrowser)
        mytoolstrip.items.add(x)
    next
end sub

public sub AddFav()处理'>>添加收藏夹button@Charles这是我的答案谢谢你的帮助。
public sub AddFav() handles '>>the add favorite button<<.click
    my.settings.favorites.add(webbrowser.documenttitle + "|" + webbrowser.url.tostring)
    my.settings.save()
end sub

public sub RefreshFavs()
    for each fav as string in my.settings.favorites
        dim favarray as array = fav.split(new char() {"|"c})
        dim x as new favorite(favarray(0), favarray(favarray.count - 1, webbrowser)
        mytoolstrip.items.add(x)
    next
end sub