简体   繁体   中英

VB.NET Save Combo Box to My.Settings

Looking to save combobox items to my.settings collection. I developed a webbrowser and a combobox will be my address bar. I am attempting to save a history of visited sites.

I tried the below code and it doesnt work. It errors out with "Object reference not set to an instance of an object":

Went into settings added MyItems for the name, and then select System.Collections.Specialized.StringCollection as the data type. Then onload is the below:

For Each i As String In My.Settings.MyItems
    ComboBox1.Items.Add(i)
Next

FormClosing and ive tried FormClosed: For now i put it in a button event to save it for testing

My.Settings.MyItems.Clear()
For Each i As String In ComboBox1.Items
    My.Settings.MyItems.Add(i)
Next

I love this site very much! So I came back to post the correct code that will correctly save and load combobox entries to my.setting! This has been tested as working!!!

Private Sub Form1_FormClosing(
        sender As Object,
        e As FormClosingEventArgs) Handles Me.FormClosing
        My.Settings.Categories.Clear()
        For Each item In ComboBox1.Items
            My.Settings.Categories.Add(item.ToString)
        Next
    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        For Each item In My.Settings.Categories
            ComboBox1.Items.Add(item)
        Next
        ComboBox1.SelectedIndex = 0
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ComboBox1.Items.Add(TextBox1.Text)
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        If ComboBox1.Items.Count > 0 Then
            Dim Index As Int32 = ComboBox1.SelectedIndex
            ComboBox1.Items.RemoveAt(Index)
            If Index - 1 <> -1 Then
                ComboBox1.SelectedIndex = Index - 1
            End If
        End If
    End Sub

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM