There are some great browser tutorials here but something I haven't seen in any of them is how to add a way to save the user's history. I had to figure the process out myself and it was a nightmare but fortunately, I've decided to share my knowledge with my fellow beginners. This is my first tutorial so please forgive me if it's not perfect.
First, you'll need a browser. If you haven't made one, try
http://www.dreamincode.net/forums/showtopic45487.htm for a nice walkthrough.
The first thing to do is to add a setting where you can save the history after the program closes. To do this, click Project, and then (Your App Name) Properties. Locate the Settings tab. For our example, we'll name it History. Our type will be System.Collections.Specialized.StringCollection. Leave the Scope set to User and we will set the value with our code.

Next, we'll need to add some code that will save the browsed pages to My.Settings.History. To do this, we add a line in the codeblock for the Browser_Navigated event.
CODE
Private Sub Browser_Navigated(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles Browser.Navigated
My.Settings.History.Add(Browser.Url.ToString)
End Sub
Now that our browser can save its history, we need to give it a way to load the existing history. I used a seperate form for the history with a listbox docked within it as it's a very simple way to manage the collection.
CODE
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListBox1.DataSource = My.Settings.History
End Sub
The last thing we need for our history is a way to browse to an item when it's clicked.
CODE
Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click
Main.Browser.Navigate(ListBox1.SelectedItem)
End Sub
You can also add a button with the following code to empty the history.
CODE
My.Settings.History.Clear()
I hope this will be helpful to anyone with the same problem I had.