Vb.net Visual Studio 2019(vb)-读/写My.Settings时出现问题

Vb.net Visual Studio 2019(vb)-读/写My.Settings时出现问题,vb.net,my.settings,Vb.net,My.settings,我刚刚开始发展,所以有些概念我不清楚,我需要你试着理解我做错了什么 我的目标是拥有一系列包含一些字符串的组合框,例如,字符串就是这一个,组合框称为类型: 为了方便起见,我将这些字符串存储在My.Settings中,并直接从app.exe.config文件编辑它们(这些信息就存储在那里?) 我正在使用这个代码 Private Sub AdminPanel_Load(sender As Object, e As EventArgs) Handles MyBase.Load For

我刚刚开始发展,所以有些概念我不清楚,我需要你试着理解我做错了什么

我的目标是拥有一系列包含一些字符串的
组合框
,例如,字符串就是这一个,
组合框
称为
类型

为了方便起见,我将这些字符串存储在
My.Settings
中,并直接从
app.exe.config
文件编辑它们(这些信息就存储在那里?)

我正在使用这个代码

Private Sub AdminPanel_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        For Each item In My.Settings.TYPE
            ComboBoxType.Items.Add(item)
        Next
End Sub
我的问题是,我无法读取
My.Settings.TYPE
,当我尝试用以下代码写入时,我找不到任何字符串添加到
My.Settings
菜单中,也找不到
app.exe.config

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles ButtonTYPEAddValue.Click
        ComboBoxType.Items.Add(TextBoxType.Text)
        ComboBoxType.Text = TextBoxType.Text
        TextBoxType.Clear()
        MsgBox("Item added!")
End Sub

怎么了?

在您的代码中,您似乎使用了
字符串
来添加/删除
ComboBoxType
项。按照以下步骤实现您的要求:

在这个屏幕截图中,您可以看到我已经将类型设置为
System.Collection.Specialized.StringCollection
,以便在以后使用时将每次类型分开

现在,您可以使用以下代码:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    My.Settings.tests.Add(TextBox1.Text)
    My.Settings.Save()
    ComboBox1.Items.Add(TextBox1.Text)
End Sub

Private Sub AdminPanel_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    For Each item In My.Settings.tests
        ComboBox1.Items.Add(item)
    Next
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    My.Settings.tests.Remove(TextBox1.Text)
    My.Settings.Save()
    ComboBox1.Items.Remove(TextBox1.Text)
End
值得注意的是,您可以更改变量名,它们在我的代码中与您的略有不同

代码的表单结构:

MyBase.Load
事件中,将使用
为每个
循环添加包含在
My.Settings.tests
中的所有项目(StringCollection的好处)

表单[添加-使用My.Settings删除]的工作示例:


我希望您已经得到了答案。

但是您可以在示例中看到,我在MyBase上加载的第一个image+中明确提供了测试字符串集合。也加载事件。好的,取消理解。但为什么我看不到对应用程序所做的更改反映在exe.config文件上?我只看到原始条目,没有添加确保保存设置(尝试重新打开程序,看看它是否打印保存的设置)。这真是难以置信。。。所以:-在中的app.config中有这三个字符串--INC SR CICCIO--我在myBase.Load上为My.Settings.TYPE ComboBoxTYPE.Items.Add(item)中的每个项目再次添加了此代码下一个结果是combobox不包含我的设置中的条目。如果我使用您提供的代码将新字符串添加到组合框中,这些更改不会反映到app.config文件中。我绝望了!尝试删除
app.config
,看看它是否有效。代码在我的机器上运行完全正常。这意味着你几乎成功了,只是出了一些未知的问题。