我正在尝试使用以下方式指定My.Settings中保存的ArrayList的索引
My.Settings("Sup" & Selectedsupplier).Item(0) = Convert.ToDouble(Margin1TextBox.Text)
我在指定索引时遇到问题,上面的代码给出了以下错误“对象变量或未设置块变量。”
我在My.Settings中有多个ArrayLists,名为Sup1,Sup2到Sup20现在我希望能够将名称中的数字指定为变量,我希望能够从所选的ArrayList中选择一些索引。
无论如何都要这样做?
答案 0 :(得分:1)
您的示例没有问题。您遇到此错误的原因是未设置ArrayList设置对象。第一次运行应用程序时,需要通过为ArrayList设置分配新实例来初始化UserSetting
这是一个检查设置然后分配值的功能。
Private Sub SetSettingValue(ByVal settingName As String, ByVal itemIndex As Integer, ByVal value As Double)
Dim setting As ArrayList
If (My.Settings(settingName) Is Nothing) Then
My.Settings(settingName) = New ArrayList
End If
setting = CType(My.Settings(settingName), ArrayList)
If (itemIndex >= setting.Count) Then
Do
setting.Add(Nothing)
Loop While (itemIndex >= setting.Count)
End If
setting(itemIndex) = value
End Sub