I'm working on a web browser and I need to know how to store history & bookmarks permanently as currently after the browser is closed all data is lossed.

Should I put it on a DB? Suggestions?

PS: They are currently being saved on a ListBox.

a database would probly be overkill for this, i believe most browsers just use text files or at most an xml to store favorites.

An easy way to do this is to create a string collectionin My.Settings.

usersetting

You can add/delete from it like any other list. Set it as the Listbox's DataSource.
ListBox1.DataSource = My.Settings.History

Just make sure that user settings is set to automatically save or do it in your code in the form closed event handler.

 Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
   My.Settings.Save()
End Sub

Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
My.Settings.Save()
End Sub

Well gee, with such an informative description of the problem, all I can say is you did it wrong.

Well there were no syntax errors. Just when I published the project, I went to Google and I closed the program. I reopened it and found no records of me going to Google and I've done as @TnTinMN told me. :(

Public Class HistoryClass

    Private Sub HistoryList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HistoryList.SelectedIndexChanged
        HistoryList.DataSource = My.Settings.History
    End Sub

    Private Sub Delete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Delete.Click
        HistoryList.Items.Clear()
    End Sub

    Private Sub Remove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Remove.Click
        If (HistoryList.SelectedIndex >= 0) Then
            HistoryList.Items.RemoveAt(HistoryList.SelectedIndex)
        End If
    End Sub

    Private Sub Open_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Open.Click
        If (HistoryList.SelectedIndex >= 0) Then
            Form1.WebBrowser.Navigate(HistoryList.SelectedItems(0))
        End If
    End Sub
End Class

Edited 3 Years Ago by IsaacMessi10

Attachments List_error.png 57.76 KB
This question has already been answered. Start a new discussion instead.