我正在尝试执行以下操作:
我有点失落,我该怎么做呢?
现有代码:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Labels.LoadSettings()
txtNumOfLabels.Text = Labels.numOfLabels
cboItem.Items.Clear()
For Each s As String In Labels.items
cboItem.Items.Add(s)
Next
End Sub
Public Shared items As New Specialized.StringCollection
Shared Sub LoadSettings()
Try
items = My.Settings("Items")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
Private Sub Options_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
For Each s As String In Labels.items
txtItems.AppendText(s + Environment.NewLine)
Next
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim itemCollection As New Specialized.StringCollection
For Each s As String In txtItems.Lines
itemCollection.Add(s)
Next
My.Settings("Items") = itemCollection
My.Settings.Save()
Labels.LoadSettings()
Form1.cboItem.Items.Clear()
For Each s As String In Labels.items
Form1.cboItem.Items.Add(s)
Next
Me.Close()
End Sub
但是这段代码不会正确保存值,或者在组合框或文本框中正确显示它们。
答案 0 :(得分:1)
您可以为您的设置使用StringCollection类型,您可能需要在代码中使用以下import语句才能使StringCollection可用:Imports System.Collections.Specialized
然后,您可以将此StringCollection用作组合框的数据源。
编辑:在您的代码中看到您已使用StringCollection。好。现在你为什么不这样访问你的设置?
My.Settings.Items = itemCollection
这样你肯定不会输入错误,而且你也确定你的设置确实存在。您是否也尝试单步执行代码以检查您的设置是否已实际保存?